jmeter-单次登入多次操作的两种实现方式
【摘要】 项目说明产品Apache JMeter(5.4.1)方式一:多线程组实现方案:建立一个线程组(登入)如图设置线程数为1,不循环设置获取token HTTP请求通过JSON提取器获取返回的token内容(此处返回内容为JSON格式,且token key值为data, 提取后保存到变量X-DEVOPS-TOKEN)添加BeanShell 后置处理程序将token值设置为全局环境变量如需要的coo...
项目 | 说明 |
---|---|
产品 | Apache JMeter(5.4.1) |
方式一:
多线程组实现方案:
- 建立一个线程组(登入)
- 如图设置线程数为1,不循环
- 设置获取token HTTP请求
- 通过JSON提取器获取返回的token内容(此处返回内容为JSON格式,且token key值为data, 提取后保存到变量X-DEVOPS-TOKEN)
- 添加BeanShell 后置处理程序将token值设置为全局环境变量
- 如需要的cookie内容还有其他,也如同上述方式提取内容,并设置为全局变量
- 创建操作执行线程组
- 设置BeanShell 预处理程序,将全局环境变量设置为线程组变量
- 添加HTTP信息头管理器,设置提取传递过来的cookie内容
- 为了便于查看设置到全局变量中的cookie内容,可添加属性显示
- 设置测试计划线程组运行方式如下
- 如有其它操作需要测试,也如法炮制
方式二:
单线程组实现方案:
1.添加线程组,并发数自定义设置
2. 添加计数器,设置开始值和结束值以及步长,值变量为c(自定义名称)
3. 添加仅一次控制器,并在仅一次控制器下添加if控制器,设置判断条件${c} == 1,注意不勾选Interpret Condition
4. 在if控制器下添加登入的HTTP请求
5. 在http请求下添加token提取(此处JSON,也可以是正则提取),同样添加BeanShell 后置处理程序,将提取的token设置到全局环境变量
6. 同线程组下添加操作HTTP请求
7. 在操作线程组下添加BeanShell 预处理程序,将全局保存的token提取到线程组,如上图
8. 通过HTTP信息头管理器设置cookie
9. 如此不管线程组设置并发数为多少,登入都执行一次
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)