JMeter,发布所有表单数据

Ben*_*Ben 8 performance http jmeter performance-testing jmeter-plugins

我正在尝试使用JMeter对网站的编辑功能进行性能测试.然而,我尝试测试的步骤回复了表单中的200多个项目.我显然希望所有项目都与向用户显示的表单相同(不包括我打算更改的表单).我知道这可以使用正则表达式提取器(参见问题JMeter - MVC:包含动态数据的表单发布模型)但是这需要为表单中的每个元素手动设置,这是巨大的!

有没有办法让JMeter回发所有表单元素而不必单独设置每个表单元素?或任何插件来做到这一点?

任何帮助将非常感激.

JLP*_*JLP 2

定义正则表达式提取器后,

步骤1)创建“调试后处理器”,所有值= true

  • Jmeter 属性 = true
  • Jmeter 变量 = true
  • 采样器属性 = true
  • 系统属性 = true

当您检查此后处理器时,您将在列表中找到所有后置参数值。尝试找到适合与 Post 请求一起发送的内容,并使用 API 设置 paramName 和 paramVal,如下所示。

我使用 firebug 找出所有必需的 post 参数。要了解如何使用它,请点击此链接 http://community.blazemeter.com/knowledgebase/articles/80479-how-to-use-jmeter-for-login-authentication

步骤2)使用此脚本创建“Beanshell预处理器”。其中“hiddenList”是正则表达式提取器的参考名称。

log.info("=====================");

         count =  Integer.valueOf (vars.getObject("hiddenList_matchNr") ) ;

        log.info("Number of hidden fields in previous sampler: " + count);



        for (i=1; i <= count; i++) { 
            paramName = vars.getObject("hiddenList_"+ i + "_g1");
            paramVal = vars.getObject("hiddenList_"+ i + "_g2");  
            log.info("Adding request parameter: " + paramName + " = " + paramVal);
            sampler.addArgument(paramName, paramVal);
        } 

        log.info("=====================");
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。