之前我们抓包或使用API文档获取请求的参数,使用Jmeter模拟发包;使用正则表达式提取响应的相关数据,赋予变量做为之后请求的参数。
JMeter中,在Http请求后我们需要验证服务器响应的数据是否正确,可以在每个请求下级加上响应断言
判断响应数据中与断言条件是否一致,若不一致,即为错误。响应断言中可选择断言匹配的规则:包括、匹配、Equal、Substring等
下面是我们登录业务的一个完整的请求例子
用户在登录时,客户端向服务端发出了7个Http请求
请求后,需要添加监听器监听测试的结果:
让我们来看看两个监听器,察看结果树和聚合报告
察看结果树:
该请求成功时请求前面为绿色勾选按钮图标,在每个请求结果中都有取样器结果、请求和响应数据。请求中可以查看我们实际发送的请求的方法(POST、GET等),请求的URL和参数等数据;响应数据即为该请求服务器端返回的结果。方便定位问题和查找原因
聚合报告:
其中Samples为一共发出了多少个请求;Average为平均响应时间;Median为50%用户的响应时间;90%Line为90% 用户的响应时间;Min为最小响应时间;Max为最大响应时间;Error%为本次测试中出现错误的请求的数量/请求的总;Throughput为吞吐量,即默认情况下表示每秒完成的请求数;KB/Sec为每秒从服务器端接收到的数据量。可以比较清晰的看到请求的响应时间、正确率和吞吐量等参数
在线程组中,我们可以设置线程的属性,即设置线程数、线程启动时间、循环次数、线程启动与结束时间等
这是一个线程组,但在用户实际使用场景中,往往是多个业务并发执行,故我们可以多个线程组并发执行
上面是我们进行的3个业务,登录、发送消息、修改头像信息。又因为3个业务的重要程度以及用户并发请求的频率不一样,故可以在每个线程组中的设置不同业务不同的线程数,以对不同业务加以不同权重的请求比例