您的位置:首页 > 其它

Jmeter使用过程中的一些问题记录

2017-12-11 16:03 821 查看
最近在使用Jmeter进行接口测试,测试的过程中遇到了一些问题,暂时只对这些问题以及解决方案做一个记录,研究深入后再对不同的主题进行展开。本文会持续更新,不具有系统性,仅供遇到相同问题的朋友们参考。

1.上一次request return的response data中有部分需要作为下一个request的变量使用:

例如,在request A的response data中,有一个token,需要作为request B用来登录的信息。则在request A中添加一个Regular Expression Extractor,中文应该是正则表达式提取器。

例如A返回的数据如下:

{"access_token":"AAAAAAA","token_type":"bearer","refresh_token":"BBBB","expires_in":27877,"scope":"CCCC"}

需提取其中的access_token,则内容正则表达式提取器的内容如下:

在request B需要使用到access_token的地方使用${access_token}替代即可,这样每次获取了不同的变量,都不用手动更新了。



2.一个request需要等待一段时间再开始执行:

如果是每个request执行前都需要等待一段时间,则可以添加一个constant timer到线程组外,比如:



这个层级,则thread group中的所有request在执行前,都会等待在constant timer中设置的时间。

如果只想要其中一个request等待时间的话,将timer拖动到request下即可,比如:



3.同一个线程组中有多个request需要共用一个变量:

比如说,request A创建了一个名称的用户,request B需要查询此名称的用户是否创建成功。可以在线程组中添加一个User Defined Variables,添加一行,Name为变量的名称,value即为值,如果想要每次创建随机名称的内容,也可以在value中填写随机函数。例:



其中${__RandomString(10,abcdefghijklmnopqrstuvwxyz,randstr)}就表示,生成一个长度为10,内容为a~z组成的随机字符串,并将结果保存在randstr变量中。



4.While Controller: conditon可能值

Blank:当循环中有采样失败了后退出循环
LAST:当循环中有采样失败了后退出循环,如果循环前最近的采样失败了,布进入循环
Otherwise:当条件等同于字符串”false"时,退出(或者不进入)循环,举个例子:

${VAR} --当VAR被其他测试元件设置为false
${__javaScript("${VAR2}"=="abcd")}
${_P(property)}--当属性在其他地方被设置为"false"

TO BE CONTINUE.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐