JMeter发送HTTP请求到结果查看
练习使用JMeter: 创建一个测试计划,发送HTTP请到sohu.com,然后判断是否返回正常,如返回正常,则截取新闻的链接作为下一个访问对象,并判断是否能正常访问。
1. 在JM中创建一个Test Plan,添加一个线程组,保持默认值。
2. 创建一个HTTP Request:
3. 添加响应断言,判断响应状态码是否访问成功:
4. 添加断言结果:用来查看断言运行的结果。
5. 添加结果树先查看第一个HTTP请求的结果:
6. 点击绿色三角形运行,查看结果树找到我们要的新闻的链接:
7. 添加正则表达式提取器提取新闻的链接:
编辑正则表达式:
因为这个后置处理器是一个关联,就是后面的请求会调用这里的结果。
引用名称就相当于是变量名,正则表达式内容只把我们要取的那一部分用正则表达式代替。模板$1$表示取getnewslink这个值的第一个值,可以通过增加一个Debug Sampler来查看这个变量的情况。
8. 新增一个Http请求,用刚才的链接变量给它赋值:
9.给新增的请求加一个断言,判断它是否正常访问到新闻页面:
10. 最后完整的测试计划是这样的,注意,虽然查看结果树(View Results Tree)的位置是在第一个请求后面,但是所有的结果都会在它里面显示。
11. 查看完整的运行情况:
上图中全是绿色说明断言也运行成功,这时候断言的单个结果不会列在查看结果树中:
如果我修改一下断言的文本让它出错,它就会显示了:
12. 如果我要调试第一个请求,不想运行第二个请求,可以禁用第二个:
这个时候运行就只会跑第一个。如果我整个测试计划跑通了没有问题了,就可以把Debug Sampler给禁用。
13. 当整个流程跑通了,我就可以开始增加负载了,这个时候选上线程组,修改线程数:先改一下跑跑看,这个时候通过监听器聚合报告能看到线程的实时加压情况: