在接触自动化后,大家都知道在自动化开始之前都需要进行初始化环境,在自动化结束后都需要清理自动化产生的数据,在接口自动化测试的世界里,同样存在需要初始化的工作。
常见的初始化的工作是登录问题。
Jmeter初始化后,提供基础的三种线程,分别为:
- 普通线程Thread Group
- 初始化线程setUp Thread Group
- 结束线程tearDown Thread Group
setUp Thread Group
setUp线程在普通线程执行前自动触发执行,setUp线程组可以用于测试准备,比如登录、创建用户等。
本文主要的setup thread group线程,主要用户控制登录。
App登录主要使用到两个接口:
- 获取验证码接口
- 登录接口
设置全局变量
接口登录成功后,由于其他请求是在其他线程(普通线程)内,所以需要将登录信息设置为全局变量,以便于其他线程内的接口请求调用。
本位使用beanshell postprocessor(后置处理器)、_setproperty()函数将登录信息uid设置为全局变量。
普通线程
普通线程内主要放本次接口自动化目标使用到的接口,例如:不断创建订单、不断关联销售,或者压测创建订单接口等等。
可在线程上指定该线程循环执行的次数N,设置为N后,该线程下的接口就会执行N次,也就是假设是创建订单,就会创建N条订单。
结束线程
tearDown Thread Group主要用于释放或者清除自动化产生的数据。
例如本文接口自动化的目标是重复不断地创建订单,那自动化结束后,就需要对自动化产生的这些订单数据做处理,使其失效或直接清除该数据。
通过数据库的方式,将自动化创建的订单状态全部修改为无效,具体如下图:
历史文章回顾:
除了使用初始化线程外,还可使用“单次循环逻辑控制器”来解决登录问题: