转自:http://www.cnblogs.com/0201zcr/p/5089620.html
在压力测试的时候,经常要将几个流程串联起来才能将程序测试通过。如:我现在用户首先要登录,获得我登录的凭证(tokenId),之后我的请求其他的资源的时候需要带上这个凭证。才能识别你是否是合法的用户。
1)、创建一个线程租
![](https://i-blog.csdnimg.cn/blog_migrate/a9e2072428a2b1ce7433471fa185adb9.png)
2)、创建一个获取凭证的请求
![](https://i-blog.csdnimg.cn/blog_migrate/1a2afd5eb95d96d7271e25a92cb67b8c.png)
3)、创建后置处理器
JMeter GUI 视图中右击该采样器打开右键菜单 -> 添加 -> 后置处理器 -> 正则表达式提取器,打开"正则表达式提取器"会话页面并编辑其内容如下:
后置处理器是当这个请求返回后要做得事情,我这里是要从返回的内容中将我们要的tokenId获取出来。这里使用“
正则表达式提取器”,用正则表达式,将我们要的内容获取出来。
![](https://i-blog.csdnimg.cn/blog_migrate/25c20436704947735fde5c7e08764bf3.png)
4)、正则表达式提取器配置
![](https://i-blog.csdnimg.cn/blog_migrate/08a503d9a22276af81d9a74bfff6d49a.png)
- 引用名称是下个请求将要引用到的变量名;
- 正则表达式是提取你想要内容的正则表达式,小括号()表示提取,也就是说对于你想要提取的内容需要用它括起来;
- 模板是使用提取到的第几个值。因为可能有多个值匹配,所以要使用模板。从 1 开始匹配,依次类推。这里只有一个,所以填写 $1$ 即可;
- 匹配数字表示如何取值。0 代表随机取值,1 代表全部取值。这里只有一个,填 1 即可;
- 缺省值表示参数没有取到值的话,默认给它的值。一般不填。
这个请求返回的数据如下:
{"message":"success","statusCode":200,"registerDay":"20","tokenId":"bf1017bc1bb495ae31764b306a3422885f5"}
我们现在要获取的是上面这个json字符串中tokenId的值,即 bf1017bc1bb495ae31764b306a3422885f5 。
5)、添加下一个请求
在这个请求中,我们要将上面的tokenId作为一个参数一并发送。
同上2)、添加一个http请求(线程租右键——》添加——》Sampler——》HTTP请求)
![](https://i-blog.csdnimg.cn/blog_migrate/cf1a5f808661ebb8944309ebeec35635.png)
6)、添加查看结果树
![](https://i-blog.csdnimg.cn/blog_migrate/0bd12e00776ca2eecae16a29d1908140.png)
7)、执行后,即可通过”查看结果树“查询
![](https://i-blog.csdnimg.cn/blog_migrate/96cfd71a626664d66ec3e703efc6d597.png)
致谢:感谢您的阅读