我是一个使用Jmeter并寻找解决方案以解决以下问题的新手:我有一个包含一组原子HTTP请求的套件,目标是将响应主体保存到xml文件中。目前,我正在使用"将响应保存到文件侦听器"来处理它,但需要能够基于响应HTTP代码和正文字符串在不同的XML中单独保存错误和OK响应。
用虚拟代码来说明案例
if (HTTP response code == 200 OK && body does not contain "ERROR") then
save response to file (%path%\responsename_OK.xml
else
save response to file (%path%\responsename_ERROR.xml
答案 0 :(得分:0)
我的坏,尼古拉,我忘了你想用xml格式......
嗯,最简单方式是为每个HTTP请求添加2个简单数据写入器(SDW),其中1个SDW仅记录错误,而其他记录仅成功。
专业人士
Con是您为每个请求添加2个元素,从而将您的测试大小增加到使用BeanShell断言的两倍。 (如果这是你的担忧。)
如果您想要更详细的方法,可以尝试使用XML Parsers和XPath Assertions编写的BeanShell Assertion,如概述here。
答案 1 :(得分:0)
使用If Controller设置条件:
${JMeterThread.last_sample_ok}
将被触发 !${JMeterThread.last_sample_ok}
- 如果之前的采样器失败将触发
N.B。你应该在If Controller下有任何Sampler,这样才能正常工作。