JMETER 审批任务实战

业务场景

我们需要对流程任务进行审批,这个和流程发起是不一样的,因为在流程发起时,只需要用户登录后,指定固定的流程方案和数据就可以发起流程了。

流程任务是需要获取任务ID再做任务审批的。

实现思路

1.准备数据

  1.用户登录

  2.用户发起流程,产生出待办任务。 

2.用户登录

3.根据用户查询出他所有的待办任务。

4.循环他的待办任务对流程进行审批。

实现脚本

  1.配置数据源

  数据源用来配置查询数据库,这里比较关键的是 连接池变量名称。

2.用户变量

 这个主要是配置需要测试接口的ip,端口和上下文。

 3.查询需要审批的人员

 这个配置的是查出审批的用户出来,把帐号和用户ID放到 userid 和 account 为前缀的变量中,在上下文中 用户id和帐号是使用如下方式存放的

userid_1,account_1

userid_2,account_2

....

 4.设置用户计数器

这个计算器的作用是,遍历用户时需要一个计数器,通过该计数器获取用户ID和帐号数据。

 

5.用户登录

 这里帐号使用了参数化,帐号通过 ${__V(account_${idx})} 获取,应为帐号的数据是 使用 account_1,account_2这种方式获取的。

6.查询用户的代办任务

每个登录用户需要查询自己的待办任务,然后循环批量执行。

 用户ID 使用 ${__V(userid_${idx})} 方式获取。

这里我们根据当前登录用户ID,查询节点1产生的待办任务。

输入参数配置的是 用户ID变量,使用 prepared select statement 方式查询。

查询的结果使用 taskId 为前缀的 集合进行保存。

在上下文中变量的数据是 :

taskId_1

taskId_2

7.增加一个循环控制器

 这个控制器的作用是遍历用户的任务,遍历次数是查询的用户任务数。

8.任务计数器

  这个计数器的作用是用户任务的索引。

9.审批任务

 使用表达式获取任务ID ${__V(taskId_${taskIdx})}, 审批时尽量简单,只传入 taskId 和审批意见。

10.使用JSON断言

任务审批成功会返回 {"success":true,..} 

 判断任务是否审批成功。

原文地址:https://www.cnblogs.com/yg_zhang/p/11490890.html