Testing 如何在JMeter中使用BeanShell预处理器生成动态HTTP请求

Testing 如何在JMeter中使用BeanShell预处理器生成动态HTTP请求,testing,jmeter,dynamic-data,performance-testing,beanshell,Testing,Jmeter,Dynamic Data,Performance Testing,Beanshell,在我的应用程序中,Http请求参数的数量取决于之前的Http响应 脚本: 如果我们在下拉列表中选择一个选项并单击提交。提交事务后,它将显示一个数据表 表中的每一行都有文本框,我们必须在这些文本框中填充数据,然后单击“更新”按钮。我们可以使用CSVDataSetConfig轻松地发送数据,但表的大小将因下拉列表中的不同选择而有所不同 可以使用正则表达式提取器获取表的大小 根据表大小和表行,我们必须创建Http请求 我的要求是创建能够处理动态Http请求参数的Http请求。如果表大小取决于下拉列表中

在我的应用程序中,Http请求参数的数量取决于之前的Http响应

脚本: 如果我们在下拉列表中选择一个选项并单击提交。提交事务后,它将显示一个数据表

表中的每一行都有文本框,我们必须在这些文本框中填充数据,然后单击“更新”按钮。我们可以使用CSVDataSetConfig轻松地发送数据,但表的大小将因下拉列表中的不同选择而有所不同

可以使用正则表达式提取器获取表的大小

根据表大小和表行,我们必须创建Http请求


我的要求是创建能够处理动态Http请求参数的Http请求。

如果表大小取决于下拉列表中的选项,您可以逐个指定所有步骤。
如果表格大小不取决于,则可以使用和来验证页面上是否存在一些文本框名称或类似的内容。我不确定,这只是我的假设,在不同大小的表生成的请求中使用JSR223后处理器。从该请求的响应中,通过正则表达式或下面使用的JSON响应提取表大小

var json = JSON.parse(prev.getResponseDataAsString());  
vars.put("tableSize",json.tablesize);
  • prev包含采样器响应,其中包含JSR223元素

  • vars是变量的jmeter映射。将表的大小作为变量添加到其中


  • 现在,您可以在任何地方使用${tableSize}。

    我们可以使用BeanShell预处理器使用虚拟HTTP请求采样器生成动态HTTP请求吗?