在JMeter中修改子样本的资源路径

时间:2017-09-11 04:14:49

标签: jmeter

我在JMeter中录制了一个用户旅程(使用AngularJS)。当我单击向页面生成GET请求的链接时,它会向某些页面资源(图像)产生其他子请求。

简而言之:

Test Plan
-- Thread Group
---- Transaction Controller
------ HTTP Request (Main sample)

此处主要示例触发了资源的其他子样本,但由于路径问题而导致其失败,但是这可以使用浏览器手动完成。

我需要更改子样本的路径,或者在这些子样本的404上没有失败。

1 个答案:

答案 0 :(得分:0)

您在浏览器和JMeter中获得不同结果的事实表明您的JMeter测试表现不佳,因为它不会以100%的准确度复制浏览器请求,因此您的负载测试没有多大意义,因为“良好的“负载测试必须代表真实用户坐在真实浏览器后面尽可能接近。我建议将浏览器和JMeter发送的请求与FiddlerWireshark等嗅探器工具进行比较,找出差异并修改JMeter配置,以便JMeter驱动的请求完全是浏览器驱动的复制品一个(除了动态参数)

暂时我只能告诉你如何将失败的子样本转换成成功的样本。

  1. JSR223 PostProcessor添加为主请求的子项
  2. 将以下代码放入“脚本”区域:

    prev.getSubResults().each {
        it.setSuccessful(true)
    }        
    
  3. 就是这样,上面的Groovy代码将所有子样本标记为成功,无论原始状态如何(响应状态代码,消息,正文等将保持原始状态,JMeter不会考虑它们因为失败了)。有关在JMeter测试中使用Groovy脚本的详细信息,请参阅Apache Groovy - Why and How You Should Use It文章。