前提条件: 获取用户的token
https://work.weixin.qq.com/api/doc/90000/90135/91039
必要的值

corpid ww88fc20d87e4cdfa1 企业ID
corpsecret 8kZYaPdkie4nuh3itIwhgchoWIbWr4tIUWpnkD_SZ0I 应用的凭证密钥

企业微信

api 地址: https://work.weixin.qq.com/api/doc/90000/90135/93618

会议室管理: https://work.weixin.qq.com/api/doc/90000/90135/93619
会议室预定管理: https://work.weixin.qq.com/api/doc/90000/90135/93620


要求
会议室管理.jmx

  1. 下载 jmx文件 导入自己的jmeter中。
  2. token 值使用变量的方式进行传递 (上下游传参),
  3. 给接口添加必要的断言。

针对添加会议室接口 测试异常场景,使用csv文件配置。
需要添加断言。


可以参考这三天学习内容进行操作。


函数助手的应用

随机值

__RandomString

添加会议室接口,会议室的名称不能重复,使用随机字符串的方法。

  1. {
  2. "name":"${__RandomString(20,qwertyyuiopasdfghjklmnvcxz,)}会议室",
  3. "capacity":10,
  4. "city":"深圳",
  5. "building":"腾讯大厦",
  6. "floor":"18F",
  7. "equipment":[1,2,3],
  8. "coordinate":
  9. {
  10. "latitude":"22.540503",
  11. "longitude":"113.934528"
  12. }
  13. }

image.png

动态引用变量进行断言

跨线程组传参,日期函数 - 图2
添加断言
image.png

上下游传参

image.png
编辑会议室的 id 来自 添加会议室

添加会议室返回的结果是编辑会议室的请求参数。

在添加会议室接口中设置变量
image.png
下游接口中引用变量
image.png


附件

上面操作对应的文件
会议室管理.jmx

跨线程组传参

当业务比较多的时候,可以创建不同的线程组存放不同的业务请求。
image.png
会议室预定管理中的请求需要使用到 会议室管理 线程组中的 变量。

这个场景就是 跨线程组传参。

通过一般的访问变量的方式,拿不到结果。
image.png

beanshell 后置处理器

在上一个线程组上的请求上添加 beanshell 后置处理器
image.png

设置为属性
image.png

  1. // 获取json提取器中设置设置token参数 设置为mytoken
  2. String mytoken = bsh.args[0];
  3. // token具体的只设置为属性 属性名为 new_token
  4. props.put("new_token",mytoken);

beanshell 前置处理器

在【测试计划】— 添加—【beanshell 前置处理程序】
image.png

前置处理器放在测试计划下面, 每个线程组运行之前都会执行。
image.png

  1. // 获取名称为 new_token的属性,对应的值赋值给变量 new_token
  2. String new_token = props.get("new_token");
  3. // newtoken的值设置为变量,变量名为为token
  4. vars.put("token",new_token);

跨线程组传参,日期函数 - 图13

附件

会议室管理.jmx


时间函数

image.png
上面的接口 中需要使用到 时间
使用Jmeter中的函数助手功能,生成的时间默认单位为毫秒。
image.png

${__time(/1000,)} 当前时间转换为秒

intsum 相加

${intSum(${time(/1000,)},7200,)} 两个小时之后的时间

image.png

  1. {
  2. "meetingroom_id":${mmid},
  3. "start_time":${__time(/1000,)},
  4. "end_time":${__intSum(${__time(/1000,)},7200,)},
  5. "city":"高老庄",
  6. "building":"腾讯大厦",
  7. "floor":"18F"
  8. }

附件

会议室管理.jmx