Parameters jmeter中提取id';从请求到响应
在jmeter中编写bean shell脚本以从请求-响应中提取N个值并将其传递到下一个请求参数的语法是什么?可能的情况太多,因此除非您分享更多细节,否则没有人能提供帮助,例如,响应(可能是部分的)以及下一个请求应该是什么样子 一般而言:Parameters jmeter中提取id';从请求到响应,parameters,request,jmeter,response,beanshell,Parameters,Request,Jmeter,Response,Beanshell,在jmeter中编写bean shell脚本以从请求-响应中提取N个值并将其传递到下一个请求参数的语法是什么?可能的情况太多,因此除非您分享更多细节,否则没有人能提供帮助,例如,响应(可能是部分的)以及下一个请求应该是什么样子 一般而言: 您有和prev速记,它代表父对象,因此您可以使用prev.getResponseDataAsString()方法访问父对象采样器响应主体并从中提取所需内容 您有和sampler速记,它代表这个或那个实现,因此您可以操作相关的方法和字段 有关如何使用Bean
- 您有和
速记,它代表父对象,因此您可以使用prev
方法访问父对象采样器响应主体并从中提取所需内容prev.getResponseDataAsString()
- 您有和
速记,它代表这个或那个实现,因此您可以操作相关的方法和字段李>sampler
有关如何使用Beanshell测试元素中的JMeter API以及一些示例的更多信息,请参阅 所以,如果您只想从第一个请求的响应中提取一些数据,并将其作为请求参数传递给第二个请求->您不需要使用beanshell和编写代码,Jmeter已经提供了一个称为正则表达式提取器的后处理器。在这里,您可以用Perl编写简单的正则表达式,并将引用名命名为Param1。在第二个请求中,只需将变量作为${Param1_g1}传递 假设你的回答是
<city>London</city>
伦敦
如果您希望提取London,并在另一个请求中传递它,正则表达式将是
<city>(.*)</city>
(*)
我尝试了这个方法,但它只用于捕获单个参数。我需要在一个数组中捕获多个参数,并将其传递给进一步的请求。我能够使用(.*)捕获参数。但问题是它存储在二维数组中,这让我感到困惑。响应:{“formId”:“1234”,“formResponseId”:“1”,“responseStatus”:“a”},{“formId”:“4567”,“formResponseId”:“2”,“responseStatus”:“b”},{“formId”:“1234”,“formResponseId”:“3”,“responseStatus”:“b”},{“formId”:“4567”,“formResponseId”:“4”,“responseStatus”:“b”},我想捕获与状态b匹配的表单响应id。同样,它也有成千上万的回应。首先,我需要存储所有内容,并且在存储到arrayResponse:{“formId”:“1234”,“formResponseId”:“1”,“responseStatus”:“a”}之后,响应id和状态索引值应该匹配,{“formId”:“4567”,“formResponseId:“2”,“r”回应:“b”},{“formId”:“1234”,“formResponseId:“3”,“r”回应:“b”},{“formId”:“4567”,“formResponseId:“4”,“r”响应状态“:“b”},我想捕获与状态b匹配的表单响应id。同样,它也有成千上万的回应。首先,我需要存储所有内容,并且在存储到数组中之后,响应id和状态索引值应该匹配。它被存储在二维数组中,我想进一步使用IF循环来评估特定的状态。