断言
Response Assertion
除了人为判断,JMeter也支持通过Assert(断言)的方式自动判断测试结果的正确性。
首先清除刚才的测试结果,然后在执行步骤/authenticate-7
中单击鼠标右键,添加Response Assertion。

因为Secure Area
是出现在Response Body
中的,所以测试区域选择Text Response
,Assert的文本为Secure Area
。
当然,也可以同时指定Response Code
,但之前出现的问题说明,即时Response Code
是200
,也并不能保证测试结果的语义正确性。

添加Response Assertion断言后,先删除之前添加的HTTP Cookie Manager再重新执行测试。

从上图可以看到,再次执行测试后,JMeter通过Response Assertion就能自动判断测试结果了。
当重新加上HTTP Cookie Manager后再测试就不会报错了。
而且也可以看到,是因为Text Response
断言失败,而非Response Code
断言失败。
也可以通过添加监听器来监控断言的执行情况。


Size Assertion
接下来给/authenticate-7
添加一个Size Assertion,它的作用是判断通信数据大小是否在预期范围。
如果发送的数据量太大,那么肯定会影响服务的响应速度和整体性能。
本应该延迟加载的,却在启动时就全部加载了。

例如,通过对/authenticate-7
的多次测试发现,它每次从服务端得到的数据包总大小(Size in bytes
)总是大于4800
,那么此时就可以这样设置Size Assertion。

设置完成后执行Size Assertion断言。

Duration Assertion
按照相同的方式添加Duration Assertion断言,它用来断言请求执行的时间是否在预期范围内,多用于负载测试。
Duration Assertion断言会根据请求的Load time
来执行判断,单位是毫秒。

清除之前的测试结果,设置Duration Assertion断言。

执行Duration Assertion断言后结果显示成功。
Web Tours
Web Tours Application是一个基于Web的机票订购
演示程序,其功能类似于Simple Travel Agency,它是给LoadRunner做练习用的(但只能用在Windows上)。
下载安装并启动WebTours\StartServer.bat
服务后,就可以打开浏览器,通过http://172.16.185.181:1080/webtours/home.html地址来访问它了。
Web Tours Application的演示程序并没有提供默认的用户名和密码,而是需要自己注册(过程也很简单)。


鼠标单击Flight
后出现如下界面。

Web Tours Application就是一个本地化部署的Simple Travel Agency。
感谢支持
更多内容,请移步《超级个体》。