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变量中。
Blank:当循环中有采样失败了后退出循环
LAST:当循环中有采样失败了后退出循环,如果循环前最近的采样失败了,布进入循环
Otherwise:当条件等同于字符串”false"时,退出(或者不进入)循环,举个例子:
${VAR} --当VAR被其他测试元件设置为false
${__javaScript("${VAR2}"=="abcd")}
${_P(property)}--当属性在其他地方被设置为"false"
TO BE CONTINUE.
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.
相关文章推荐
- QTcpSocket使用过程中的一些问题记录
- [项目过程中所遇到的各种问题记录]ORM篇——使用NHibernate配置对象实体的一些小问题
- QTcpSocket使用过程中的一些问题记录
- [项目过程中所遇到的各种问题记录]ORM篇——使用NHibernate配置对象实体的一些小问题
- 记录安卓模拟器 Genymotion 使用过程中遇到的一些问题
- 关于xstream使用过程中遇到的一些问题,记录一下
- QTcpSocket使用过程中的一些问题记录
- 记录安卓模拟器 Genymotion 使用过程中遇到的一些问题
- [项目过程中所遇到的各种问题记录]ORM篇——使用NHibernate配置对象实体的一些小问题 22
- 记录oracle11g使用过程中遇到的一些问题,会持续更新。
- 学习使用Jpcap抓取数据包过程中的一些记录和问题
- 使用vc发现的一些问题记录
- 使用webchart过程中遇到的一些问题
- 艾伟也谈项目管理,项目过程中所遇到的各种问题记录——有关MSChart的一些小技巧
- ADSL宽带使用过程中常见的一些问题
- 使用javamail发信过程中的一些问题及解决方法
- pthread_cond_wait()使用、执行过程及一些问题
- [项目过程中所遇到的各种问题记录]图表篇——有关MSChart的一些小技巧
- [项目过程中所遇到的各种问题记录]编辑器篇——FCKeditor相关知识及各种常见使用问题
- [项目过程中所遇到的各种问题记录]编辑器篇——使用FCKeditor生成静态分页HTML