02构建一个测试计划
Created Tuesday 23 May 2017
一个测试计划描述JMeter运行时执行的一系列的步骤。一个完整的测试计划包含一个或多个线程组,逻辑控制器,采样器,监听器,计时器,断言和配置元素。
2.1 添加和移除元素
通过对树上元素右击,然后从添加列表中选择一个新元素,来添加元素到测试计划。另外,元素可以通过文件来加载,通过选择“合并”和“打开”选项来添加。
要移除元素,先选择元素,然后右击元素,再选择“移除”选项。
2.2 加载和保存元素
为了从文件中加载元素,在你想要添加加载元素的元素上右击,选择“合并”选项,选择你之前保存元素文件,JMeter将会合并元素到树中。
为了保存树元素,在元素上右击并选择“另存为”选项。JMeter将会保存选择的元素,和下面的所有的子元素。这样子你就可以保存以后要用测试树片段和独特的元素。默认地,测试计划不会自动保存工作台,但是可以通过在工作台元素上选择“保存工作台”选项来保存。
2.3 配置树元素
测试树中的元素将在JMeter的右边的框展示控制信息。这些控制允许你配置具体的测试元素的行为。元素可以配置什么依赖于元素是什么类型。
可以通过在测试树上拖拽组建来操纵测试树。
2.4 保存测试计划
虽然不是必要的,我们推荐你在运行测试计划前先进行保存。为了保存测试计划,可以从文件菜单中选择“保存”或者“另存为”(最新的版本中,已经不用先选定测试计划元素)。
JMeter允许你保存整个测试计划或者仅仅是其中一部分。要想仅保存测试计划树分支下面的元素,选择分支中树的测试计划元素,然后鼠标右击进入“保存选择为…”菜单项。另外还可以,选定对应的测试计划元素并从编辑菜单选择“保存选择为…”。
2.5 运行测试计划
为了运行测试计划,可以从”运行”菜单项选择”启动“(Control + r)。当JMeter运行时,它会在菜单条下面的最右边展示一个小绿色的框。你也可以查看”运行”菜单,如果”启动”是不可用的,”停止”是可用的,那么JMeter就正在运行你的测试计划。(至少,它认为它在运行)
绿色框的左边的数字是活跃线程数/总线程数的数字。这些只应用到本地运行的测试;在使用客户端-服务器模式的时候,他们不包含远程系统上启动的线程。
GUI模式因该只在调试你的测试计划的时候使用。要进行负载测试,需要使用NON-GUI模式。
2.6 停止测试
在菜单有两种可用的停止命令:
- 停止(Control + .)-如果可以立即停止线程。一些取样器会被中断,意味着这些活跃的取样器会被提前结束。停止命令会在默认的5s的超时时间里检查所有的线程是否停止了。[可以通过JMeter属性jmeterengine.threadstop.wait来修改],如果线程没有停止,一条消息会显示出来。停止命令会重试,如果失败了,那就有必要为了清理退出JMeter。
- 关闭(Control + ,)-要求线程在当前工作的结束时停止。不会中断活跃的取样器。关闭对话框会一直保留到所有线程停止。
如果关闭话费了太长时间。关掉关闭对话框选择运行/停止,或者直接按control + ..
当在non-GUI模式运行JMeter,这里没有菜单,JMeter也不会对像control + ..这样的按键响应。然而JMeter的non-GUI模式会在特定端口监听命令(默认4445,查看JMeter属性jmeterengine.nongui.port)。如果默认的端口被占用了(例如被其他的JMeter实例)JMeter支持自动选择一个间隔的端口。在这种情况下,JMeter会尝试下个更高的端口,直到到JMeter的属性jmeterengine.nongui.maxport,默认是4455。如果最大端口小于等于端口,端口扫描就不会发生。这个选择的端口会在控制台窗口显示。
当前支持的命令有:
- Shutdown - 优雅的停止
- StopTestNow - 立即停止
分别通过使用shutdown[.cmd|.sh]或者stoptest[.cmd|.sh]脚本来发送这些命令。脚本在JMeter的bin目录下,只有脚本和服务在同一台机器上,命令才能接受到。
2.7 错误报告
JMeter记录警告和错误到jmeter.log文件,还有一些测试运行中的信息。JMeter在窗口的有最右边警告图标(三角)旁边展示jmeter.log文件中警告/错误数。点击警告图标会在JMeter窗口的底部展示jmeter.log文件。有时候会有一些错误,JMeter不能跟踪和记录,但是它们会出现在命令行控制台。如果一个测试和你期望不一样,请检查日志文件也许会看到一些错误(例如,函数调用中的可能的语法错误)。
取样器错误(例如HTTP404-文件没找到)通常不会在日志文件报告。而是作为取样器结果的属性,取样器结果的状态可以在各种各种不同的监听器中看到。