Jmeter 使用
设置用户变量
添加 -> 前置处理器 -> 用户参数
使用用户变量 ${customParam}
随机切换用户变量
- 定义两个用户变量,名称为 cn 和 us
- 使用函数 ${__RandomFromMultipleVars(cn|us)} 进行随机切换
使用更多函数,工具 -> 函数助手对话框
顺序执行多请求
- 添加 -> 定时器 -> 同步定时器
- 将定时器中“模拟用户组的数量”设置与线程数一致即可
文件写入数据
接口返回数据如下
1 2 3 4 5 6 7 8 9 10 11 12
| { "code":200, "message":"OK", "data":{ "token":"eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxNjg5MTkxNDc1MTYyMDQ2NDY3IiwibmJmIjoxNjkxNTY5NjA2LCJ0b2tlbkRhdGEiOiJleit1bmlZTVhHZU1SMTVvbGd4TlVwc01namdrMndWQll4enBFZVk0Y0RjN1ZoQUFUbGJXK1wvVXZhcmZieTM3S2VxaWJQbnFnMXcra1NsVEVRQ1JpRkRVbStEU1lKTVpaaW1Nb3E0am02TVorM3c0akJYV1BBTERnb0doSnUyWXgiLCJpc3MiOiJDcmVlayBXZWFyYWJsZSIsImV4cCI6MTY5MTU3NjgwNiwiaWF0IjoxNjkxNTY5NjA2LCJqdGkiOiIxNjg5MTkxNDc1MTYyMDQ2NDY3In0.HMQpFh0bNQyglC2yOELbk9bPVzLzfOLbtxS1okoH_jNN-_AxR3zZ9ODX9iO2DWuVVqg39hCI3QTKWz3haD9rwRhzHgDQfTRbLyRN4ANyYnFAhgTIikzVCM3tbkuVRpQnAfNv6hwDHxvu7kkmhTQzfegezBHJateR1tR90Zwve2UG0VLoeO0r4YV4Ym1jVpoh6NCyCYqsF12c1E19VqeHJZd6HYeQ0WTk6HKm1PcizlNq8kL_ldeLeU7OQ1RzkVLZ_dvWKWrXAAMiPtsNu7NYvyUwq-9Trp1f9jRI3lP8yFvL0Xp6p0guMEbYMBCuziDerWF-p167AWdjX9oxuBPTPA", "refreshToken":"eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxNjg5MTkxNDc1MTYyMDQ2NDY3IiwibmJmIjoxNjkxNTY5NjA2LCJ0b2tlbkRhdGEiOiJleit1bmlZTVhHZU1SMTVvbGd4TlVwc01namdrMndWQll4enBFZVk0Y0RjN1ZoQUFUbGJXK1wvVXZhcmZieTM3S2VxaWJQbnFnMXcra1NsVEVRQ1JpRkRVbStEU1lKTVpaaW1Nb3E0am02TVorM3c0akJYV1BBTERnb0doSnUyWXgiLCJpc3MiOiJDcmVlayBXZWFyYWJsZSIsImV4cCI6MTY5Mjg2NTYwNiwiaWF0IjoxNjkxNTY5NjA2LCJqdGkiOiIxNjg5MTkxNDc1MTYyMDQ2NDY3In0.L1YME9gpBstLlUeKIaOjYoFHMzReep7Zeuu79Y5XURP1X8PT_8lFiC-d78ArwAAGtJfa7NWjtvEkER2k7FmjiSv43Kc59bpbLNqySHVJaNwcryX2fbH8m-VgQnXRz7elb0cguS3YCMvryMUoHlloWoSzqTCZIvyV6wJcYoZDBKRUdnnJqFDYBU0n6eGe104oMcETjoeQN1gT62qA-8q29sGjy-IhfuzkYjoYphJQlAsH25ST4TRQF_2hGmTG3cOg2RRME3SyueDCQkWtuowzuI0hR_4tzhYfFTPHOcUkeqiLO3IiIfhU7p9ekIG8ZuL_jxYrNf8xEEn9ZYPPwJDjOA", "status":null, "countryCode":"CN", "domain":"http://192.168.40.113:9501", "openId":null } }
|
- 在指定请求中添加 -> 后置处理器 -> JSON提取器,配置如下
- 选择添加 -> 后置处理器 -> JSR223 后置处理程序,脚本如下
1 2 3 4 5 6 7 8 9 10 11
| File file = new File("文件地址"); File parentDir = file.getParentFile(); if (!parentDir.exists()) { parentDir.mkdirs(); } try (FileWriter fileWriter = new FileWriter(file, true); BufferedWriter out = new BufferedWriter(fileWriter);) { out.write(vars.get("token_1") + "," + vars.get("refreshToken_1") + "\n"); } catch (Exception e) { e.printStackTrace(); }
|
读取文件数据
文件中内容如下,以,分隔
使用函数 ${__CSVRead(“文件地址”,0)} 读取第一列数据
每秒事务数-插件使用
- 下载 插件管理器,将 jar 包放到 lib/ext 目录中并重启
- 在选项 -> 插件管理器中找到 jpgc - Standard Set 应用并重启
- 添加 -> 监听器 -> jp@gc - Transactions per Second
控制台乱码
打开 jmeter.properties 修改 language=zh_CN