如何处理Jmeter脚本中随机生成的请求后参数?
我正在为基于web的应用程序编写jmeter脚本。我正在使用FirefoxFirebug查看POST请求参数。我可以成功地编写登录页面脚本,因为它只有“用户名”和“密码”参数 但是,在登录到web应用程序后,我意识到,有随机生成的必需参数随post请求一起发送 因此,我试图找出处理这些参数的方法。如何处理Jmeter脚本中随机生成的请求后参数?,jmeter,Jmeter,我正在为基于web的应用程序编写jmeter脚本。我正在使用FirefoxFirebug查看POST请求参数。我可以成功地编写登录页面脚本,因为它只有“用户名”和“密码”参数 但是,在登录到web应用程序后,我意识到,有随机生成的必需参数随post请求一起发送 因此,我试图找出处理这些参数的方法。 如果你处理过这种情况,请告诉我 示例:以下是我的post请求参数: externalId=971&submit.go=go&submit.go=&013f57c77c2a%3A6eed%3A1b320
如果你处理过这种情况,请告诉我 示例:以下是我的post请求参数: externalId=971&submit.go=go&submit.go=&013f57c77c2a%3A6eed%3A1b320be7=105f230e-9f86-40f8-9473-2159758812128 其中,
**013f57c77c2a%3A6eed%3A1b320be7**
参数及其值每次生成的方式不同。我不知道如何定义这个参数 我找到了答案。您可以使用列表提取器(正则表达式提取器)。 您可以根据您的标准定义任何模式。 例如,regex模式是:input type=“hidden”name=“([^”]+?)”value=“([^”]+?)” 步骤2)将Beanshell预处理器用于此脚本
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("=====================");
log.info(“==================================”);
count=Integer.valueOf(vars.getObject(“hiddenList_matchNr”);
log.info(“上一个采样器中的隐藏字段数:“+count”);
对于(i=1;i