jmeter使用,关联 auto-test, 自动化测试
- 参考
sampler / 取样器
JSR223 Sampler
其中可以执行脚本,语法支持 java, groovy, javascript 等。
1 2 3 4 5 | // 命令行启动jmeter的话,可以看到打印语句 OUT.println("要打印的语句"); // vars.get 获取变量的Value OUT.println("xx变量:" + vars.get("VARIABLE-NAME")); |
Logic Controller / 逻辑控制器
If Controller
Expression 的例子:
${__jexl3(${record_id_matchNr}== 0)}
${__jexl3(${COUNT} < 10 && "${VAR}" == "abcd",)}
To test if a variable is undefined (or null)
${__jexl3("${myVar}" == "\${myVar}")}
或者 ${__jexl3("${myVar}" != "\${myVar}")}
变量
变量引用 ${VARIABLE}
可以用的地方
- Http Request 取样器的 Body Data
函数
时间函数
1 | ${__time(yyyy-MM-dd HH:mm,)} |
技巧
http request body 包含中文,提交服务器为乱码
- 解决方法:
http 请求设置 Content encoding 为 UTF-8
,可以设置的组件:
- Sampler / Http Request ,针对某个http request
- Config Element / Http Request Defaults,针对Thread Group 下的所有 http request,推荐使用这个设置
HTTP Cookie Manager 中设置的 User-Defined Cookies 无效
设置cookie ,不仅要设置 Name 和 Value, 也要设置 Domain 和 Path 才行。
Domain 可以直接设置 url 用到的域名,Path 可以直接设置根目录 /
。
JSON Extractor 来提取到多个变量的时候,无效
- 参考
单个变量时候, Default values
可以不填,但是多个变量的时候,必须要填。
使用分号来分隔变量名称和json path表达式,注意不要用中文分号。
实例如下:
1 2 3 | Names of created variables: SCHOOL_ID; STUDENT_GRADE; STUDENT_CLASS JSON Path expressions: $.schoolId; $.studentGrade; $.studentClass Default Values: No_Default; No_Default; No_Default |