一、非GUI(界面)命令详解
1. -n 使用非gui方式,不能单独使用,必须和-t(指定jmeter的脚本)一起用。
#cmd命令行模式下,进入存放测试jmx文件的目录下
jmeter -n -t hello.jmx
只会生成一个log日志文件,没有任何报告输出
2. -l 生成jtl格式的报告
jmeter -n -t test.jmx -l result.jtl
注意:修改jmeter.propties配置文件
jmeter.save.saveservice.otput_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
jtl报告查看,在察看结果树中游览文件并打开
3. -e 生成html报告,不能单独使用,一般和-o(输出)一起用
jmeter -n -t [jmx file] -l [result file] -e -o [html report folder]
eg: jmeter -n -t hello.jmx -l result.jtl -e -o ./report
eg: jmeter -n -t C:\Users\tang\Desktop\测试计划.jmx -l result.jtl -e -o C:\Users\tang\Desktop\123
-n:非GUI模式执行JMeter
-t [jmx file]:测试计划保存的路径及.jmx文件名,路径可以是相对路径也可以是绝对路径
-l [result file]:保存生成测试结果的文件,jtl文件格式
-e:测试结束后,生成测试报告
-o [html report folder]:存放生成测试报告的路径,路径可以是相对路径也可以是绝对路径
注意:修改jmeter.propties配置文件
jmeter.save.saveservice.otput_format=cvs
打开文件夹中的index.html,查看测试报告
注意:result.jtl和report会自动生成,如果在执行命令时result.jtl和report已存在,必须用先删除,否则在运行命令时就会报错
二、BeanShell组件和语法规则
BeanShell是一种完全符合java语法规则的脚本语言,同时还有他自己的语法规则。
java包括:javase,javaee,javame
jemter哪些内容包含BeanShell:
前置处理器,定时器,取样器,后置处理器,断言,监听器
三、BeanShell的内置变量和语法规则
1.log 打印日志
log.info("test"); //打印信息
log.error("error message"); //打印报错信息
System.out.println("this is java"); //在控制台打印
2.vars表示:JmeterVariables,操作Jmeter变量(只能在当前线程组使用)
1)用户定义的变量
2)正则表达式,json提取器
3)定义变量
//获取变量的值
log.info(vars.get("message")); //获取message变量的值
vars.put("www","yyy") ;//设置www为变量名,yyy为变量值
3.props用于存取jmeter的全局静态变量(可以跨线程组)
log.info(props.get("jmeter.save.saveservice.output_format"));
props.put("aaa","bbb")
4.prev获取到签名一个取样器返回的信息。
log.info(prev.getResponseCode());
log.info(prev.getResponseAsString())
5.ctx上下文所有的变量
System.out.println(ctx.getProperties());