jmeter跨线程组传值

不问归期 提交于 2019-11-27 16:49:31

需求背景:1.采购登陆,创建订单;2.供应登陆,确认该订单。所以这里就会涉及到1中生成的订单号需要传递到2中。

需求实现:用jmeter进行1,2的自动化;1,2分成了2个不同的线程组,所以这里就需要跨线程组传递订单号。

跨线程组传值:

1.创建订单后先获取生成的订单号:

{"Success":true,"Message":null,"Data":[{"SOSNo":"10009004","Price":19999999.98000,"PayMethod":"线下支付","ShoppingCartMasterNo":10009004,"AduitChoiceStatus":30,"OrderSource":3,"ParentSOSysNo":10009004}],"Code":0}

1的创建订单请求中,加jp@gc - JSON/YAML Path Extractor提取创建订单成功后返回的订单号;--->还是在该请求中,加后置处理器BeanShell PostProcessor;---->

 

遇到的问题如下:

在2确认订单的时候,一直报错,查看请求,看到订单号并没有正确传递过来,还是参数的形式:

{"SOSysNo":${newsosysno},"OptType":20,"Note":"确认订单"}

 

打开log(工具栏Options->Log Viewer),查看报错如下:

2019-11-26 16:23:49,150 ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``string sosysno=bsh.args[0]; print(sosysno); ${_setProperty(newsosysno,${sosyno}, . . . '' : Typed variable declaration : Class: string not found in namespace

 

 

 原因:string写法的问题。应该写String,不是string。。。。修改后,成功了!

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!