提示:以下是本篇文章正文内容,下面案例可供参考
操作
打开jmeter,新建一个测试计划,在测试计划里新建一个线程组,新建一个登录的http请求,如所示:查看登录返回的结果:充值接口需登录后才能操作,此时可以使用cookie方式,验证此用户已经登录,在充值接口里添加cookie管理器:这里的sign就是上一个登口接口返回的sign值。
在登录请求下新建一个后置处理器,提取返回结果值:查看接口运行结果:总结:以上就是jmeter的关联实现,如果有其他的接口需要前一次请求的结果,也可以添加的后置处理器提取变量,作用于后一个接口中,实现参数动态变化。
示例:pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。
关于正则表达式的举例说明
提取单个字符串
假如想匹配Web页面的如下部分:name=“file”value=“readmtxt”>并提取readmtxt。一个合适的正则表达式:name=“file”value=“(.+?)”>。():封装了待返回的匹配字符串。.:匹配任何单个字符串。+:一次或多次。?:不要太贪婪,在找到第一个匹配项后停止。
提取多个字符串
假如想匹配Web页面的如下部分:name=“filname”value=“readmtxt”>并提取filname和readmtxt。一个合适的正则表达式:name=“(.+?)”value=“(.+?)”。这样就会创建2个组,分别用于111和222比如:引用名称:MYREF模板:111222如下变量的值将会被设定:MYREF:filnamereadmtxtMYREF_g0:name='filname'value=“readmtxt”MYREF_g1:filnameMYREF_g2:readmtxt在需要引用地方可以通过:${MYREF},${MYREF_g1进行使用。
当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理,Jmeter可以通过“后置处理器”中的“正则表达式提取器”来处理关联。
简单的关联比如在访问百度首页时响应数据里面有一个title
百度一下,你就知道
模板:代表从正则表达式结果引用的样式,其实结果是一组,而不是一个。000代表这一组结果的全部,111代表这一组结果的第1个,以此类推;111222代表该正则表达式一组结果中的第1个和第2个,俩结果挨在一起中间没有间隔;333,444代表该正则表达式一组结果中的第3个和第4个,俩结果间有一个逗号相连。匹配数字:0代表正则表达式结果组中随机,1代表全部。缺省值:当引用不对时显示传递的信息,通畅写一个ERROR。
如上设置好正则表达式提取器后,我们可以添加一个被关联的验证请求,如下:事实上,myref_g0,myref_g1…myref_g4是正则表达式的结果组,而myref才是被模板控制提取出来结果,这里为了更清晰的观察正则表达式的结果组才在验证请求中添加这么多参数,实际使用是用一个myref和模板配合就可以了。
myref_g0={“rent”:0.0,“price”:84950,“totalprice”:1019,“roomType”:3}myref_g1=0.0myref_g2=84950myref_g3=1019myref_g4=3
模板000模板111222模板333,444另外对于匹配数字,目前我只看到0和取其他整数的情况也许还有,那一定是更复杂一点的情况。
总结
总结:以上就是jmeter的关联实现,如果有其他的接口需要前一次请求的结果,也可以添加的后置处理器提取变量,作用于后一个接口中,实现参数动态变化。
文章为作者独立观点,不代表股票交易接口观点