在我们通过jmeter.bat文件启动jmeter的时候,会先弹出一个命令窗口。里面就有提到,不要用GUI的模式去做负载测试,这种模式只适用于创建脚本和测试脚本,要通过CLI模式(也就是非GUI模式)启动测试。
因为在使用图形界面做负载测试的时候,图形界面也会损耗不小的资源,所以我们通常使用无图形界面的方式进行负载测试。
一、无图形界面负载测试
进入到jmeter的bin目录下,shift + 右击 然后选择在此处打开命令行窗口。
或者在jmeter的bin目录下输入cmd然后回车,也可以打开命令行。
然后运行命令:jmeter -n -t bscjmeterceshi.jmx -l bscwenjianJmeterCeshi.jtl -e -o bscaogao
参数说明:
-h 帮助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-l 日志文件 -> 记录结果的文件
-e 设置测试完成后生成测试报表
-o 指定测试报表生成文件夹。文件夹必须为空或不存在
-r 远程执行 -> 启动远程服务
-H 代理主机 -> 设置 JMeter 使用的代理主机
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
完成之后呢,就会提示如下:
然后打开我们生成的测试报告:
这就是企业实际做性能测试的方式。(通过非界面的方式进行测试)
很多同学会有这样一个思考,为什么LoadRunner可以使用GUI界面的方式进行负载测试,而jmeter就不行呢?
那是因为LoadRunner是用C语言的方式执行的,C语言是可以直接跟计算机进行交互的语言,而jmeter是用Java语言执行的,所以jmeter的GUI界面会消耗jvm资源。如果使用非图形化测试,所有资源就用于性能测试,GUI就不再会消耗资源了。