前提条件: 获取用户的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文件 导入自己的jmeter中。
- token 值使用变量的方式进行传递 (上下游传参),
- 给接口添加必要的断言。
针对添加会议室接口 测试异常场景,使用csv文件配置。
需要添加断言。
可以参考这三天学习内容进行操作。
函数助手的应用
随机值
__RandomString
添加会议室接口,会议室的名称不能重复,使用随机字符串的方法。
{"name":"${__RandomString(20,qwertyyuiopasdfghjklmnvcxz,)}会议室","capacity":10,"city":"深圳","building":"腾讯大厦","floor":"18F","equipment":[1,2,3],"coordinate":{"latitude":"22.540503","longitude":"113.934528"}}

动态引用变量进行断言

添加断言
上下游传参

编辑会议室的 id 来自 添加会议室
添加会议室返回的结果是编辑会议室的请求参数。
在添加会议室接口中设置变量
下游接口中引用变量
附件
上面操作对应的文件
会议室管理.jmx
跨线程组传参
当业务比较多的时候,可以创建不同的线程组存放不同的业务请求。
会议室预定管理中的请求需要使用到 会议室管理 线程组中的 变量。
这个场景就是 跨线程组传参。
通过一般的访问变量的方式,拿不到结果。
beanshell 后置处理器
在上一个线程组上的请求上添加 beanshell 后置处理器
设置为属性
// 获取json提取器中设置设置token参数 设置为mytokenString mytoken = bsh.args[0];// 将token具体的只设置为属性 属性名为 new_tokenprops.put("new_token",mytoken);
beanshell 前置处理器
在【测试计划】— 添加—【beanshell 前置处理程序】
前置处理器放在测试计划下面, 每个线程组运行之前都会执行。
// 获取名称为 new_token的属性,对应的值赋值给变量 new_tokenString new_token = props.get("new_token");// 将newtoken的值设置为变量,变量名为为tokenvars.put("token",new_token);

附件
时间函数

上面的接口 中需要使用到 时间
使用Jmeter中的函数助手功能,生成的时间默认单位为毫秒。
${__time(/1000,)} 当前时间转换为秒
intsum 相加
${intSum(${time(/1000,)},7200,)} 两个小时之后的时间

{"meetingroom_id":${mmid},"start_time":${__time(/1000,)},"end_time":${__intSum(${__time(/1000,)},7200,)},"city":"高老庄","building":"腾讯大厦","floor":"18F"}
