Gatling,捕获 SSL 异常

Gatling, catching SSL exceptions

我在 Jetty 上托管了 Spring 服务,我想测试它是否允许用户使用无效证书进行连接。

scenario("Authenticate using expired client certificate")
   .exec(session => session.setAll(
       Map("gatling.http.ssl.keyStore.file" -> "expiredCertificateKeystore.jks", 
           "gatling.http.ssl.trustStore.file" -> "truststore.jks"))
   .exec(
       http("GET / request")
          .get("/")
          .check(/*that IOException is thrown*/)
)

由于 Jetty 因预期 java.security.cert.CertificateExpiredException 而在使用无效证书连接时切断连接,Gatling 的 HTTP 客户端未从服务器接收任何 return 代码并抛出 java.io.IOException: Remotely closed

有什么方法可以告诉加特林这个错误是预料之中的,这个行为应该被认为是成功的吗?我找不到有关此功能的任何文档。

不,无法恢复 IO 异常。 您正在做的是功能测试,而不是负载测试,这很好,但我们没有考虑这个用例。