JMeter核心组件之setUp线程组

一、背景

在用jmeter进行接口测试时,一般会涉及到测试前的准备工作,比如数据准备、登陆操作等。在测试完毕后,一般还涉及到数据的清理,或者系统的退出操作。此时需要用到jmeter的setUp线程组。这与单元测试框架(unitest、pytest)中的前后与后置操作逻辑基本一致。

二、setUp线程组

这里以新增文章接口为例,在新增文章之前需要登陆系统,所以这里把登陆操作放置在setUp线程组中。首先添加setUp线程组,如图所示:

1、添加setUp线程组

  • 右键测试计划,在线程中添加setUp Thread Group

2、提取token

  • 在setUp线程组下,新建取样器,也就是登陆接口,运行接口可以看到登陆接口返回的token值,由于线程组中

  • 接着,需要把响应的token值提取出来,此时新添加一个json提取器,当然其他提取器也可行

  • 然后,配置提取表达式及变量,jsonpath的表达式语法可以参考:https://www.cnblogs.com/xyztank/articles/12555592.html

3、设置全局变量

  • 由于提取后的token值赋值给变量token,此变量token的作用范围只适用于setUp线程组之下,若要跨线程组,让其他线程组的接口也能引用提取出来的token值,那么需要将token变量设置成为全局变量。此时,需要新增接口后置操作BeaShell PostProcessor,将token变量设置成为全局变量.

  • 然后,开始配置BeaShell PostProcessor,在这里把登录接口响应的token值复制给了变量token,引用变量token的表达式为$

  • 此时,再引用token值(${token}),并将其复制给全局变量token_global

4、引用全局变量

  • 接着,设置好全局变量token_global后,其他线程组就可以引用该全局变量,具体引用方式如下所示:

5、查看结果

可以看到请求头中的jwt-token参数,已赋值,并且接口响应成功。

三、参考

1、jsonpath语法:https://www.cnblogs.com/xyztank/articles/12555592.html

posted @ 2022-08-10 11:25  xyztank  阅读(2922)  评论(0)    收藏  举报