我正在使用Maven(3.3.9),JMeter(3.0)和Jenkis Performance插件。 当我在计算机上使用Mvn运行JMeter测试时,一切正常,但是当我尝试构建@Jenkins时,JMeter测试总是失败(100%)。
有人知道我的问题可能是什么原因吗?
我的JMeter测试使用断言,它检查" viewExpired",因为我使用JSF,第二个断言,一旦第一次测试失败就跳过所有其他测试。
这是我的日志(我改了一下,服务器地址等) https://gist.github.com/anonymous/801ef819233468246eb9e42893366b56
答案 0 :(得分:0)
从您的日志中,我看到您的TLS连接从Jenkins计算机到目标测试服务器(test.at.com)失败。如果你的Jenkins机器有一个Xterm接口,你可以在那里安装JMeter并在GUI模式下启动它来验证吗?您的测试计划应该没有问题。日志还表明它正在使用空密钥存储区。您是否已将test.at.com证书添加到Jenkins计算机上的默认Java密钥库中?默认情况下,JMeter使用/ lib / security下的java密钥库。您可以使用属性
使用自己的信任库覆盖它您可以编辑JMeter system.properties以通过编辑以下行来使用自定义Keystore
#Keystore属性(客户端证书)
#Location
#javax.net.ssl.keyStore = H:\证书\ client_keystore.jks
#
#密钥库的密码
#javax.net.ssl.keyStorePassword =的changeit
#
#javax.net.ssl.keyStoreProvider
#javax.net.ssl.keyStoreType [default = KeyStore.getDefaultType()]
如果您想了解实际的根本原因,我还建议启用SSL调试选项。您可以在system.properties中打开它 #javax.net.debug = SSL
说完以上所有内容后,请检查一下jenkins机器与实际目标主机之间是否存在连接性
telnet test.at.com 443
2017/01/23 15:50:17 DEBUG - org.apache.jmeter.protocol.http.sampler.JMeterClientConnectionOperator $ JMeterDefaultClientConnection:Connection 0.0.0.0:33542<->62.116.177.251:443已关闭 2017/01/23 15:50:17 DEBUG - org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl $ 7:关闭连接。 2017/01/23 15:50:17 DEBUG - org.apache.jmeter.protocol.http.sampler.JMeterClientConnectionOperator $ JMeterDefaultClientConnection:Connection 0.0.0.0:33542<->62.116.177.251:443已关闭 2017/01/23 15:50:17 DEBUG - org.apache.jmeter.protocol.http.sampler.JMeterClientConnectionOperator $ JMeterDefaultClientConnection:Connection 0.0.0.0:33542<->62.116.177.251:443关闭 2017/01/23 15:50:17 DEBUG - org.apache.jmeter.protocol.http.sampler.JMeterClientConnectionOperator $ JMeterDefaultClientConnection:Connection 0.0.0.0:33542<->62.116.177.251:443已关闭