1、基本操作
打开jmeter,右键【测试计划】添加【线程组】,右键【线程组】添加【HTTP请求】,【HTTP】请求填写相关请求数据,右键【线程组】添加【察看结构树】,点击运行,在【查看结果树】看结果,,这里以请求百度为例
点击运行,查看结果
这样就完成了一个http/https请求
线程组的特点:用户模拟多线程,一个线程代表一个测试用户,用来模拟多人操作,取样器(请求)和逻辑控制器必须依赖线程组才能使用,线程组可以添加多个,多个线程组可以并行或串行
线程组分类:
线程组:看做一个虚拟用户组
setUp线程组:用于执行预测试操作,一定是先执行的
tearDown线程组:用于执行测试后工作,一定是最后执行的。
2、常用元件
如下是我们常用的元件
元件 | 含义 |
取样器 | 往服务器发送请求,类似于自动化脚本中的发送请求。 |
前置处理器 | 对要发送的请求进行预处理,类似于自动化脚本中的参数化。 |
后置处理器 | 对收到的服务器的响应数据进行处理,类似于自动化脚本中获取响应中特定字符的操作。 |
断言 | 将收到的响应结果于预期结果做对比,与自动化测试中的断言一致。 |
定时器 | 等待一段时间,类似于自动化测试脚本中的sleep。 |
测试片段 | 封装基本功能的代码块,不单独执行,需要脚本进行调用,类似于自动化中封装的函数。 |
配置元件 | 进行测试环境和测试数据的初始化,类似自动化脚本中的setup。 |
监听器 | 查看测试脚本运行的结果和日志,类似于自动化测试脚本中的测试报告。 |
元件作用域原则如下:
(1)在Jmeter中,元件的作用域是根据测试计划的树形结构中元件的父子关系来确定的。
(2)元件中取样器是核心,其他组件都是以取样器为核心运行的,组件添加的位置不同,生效的取样器也不同。
(3)取样器都是一个独立的请求,不和其他元件相互作用,因此不存在作用域。
(4)逻辑控制器只对其子节点中的取样器和逻辑控制器作用
(5)其他六大元件,除取样器和逻辑控制器元件外,如果是某个取样器的子节点,则该元件对其父节点起作用;如果其父节点不是取样器,则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等)。
3、元件执行顺序
(1)配置元件(相当于自动化测试中的初始化)
(2)前置处理器
(3)定时器
(4)取样器
(5)后置处理器
(6)断言
(7)监听器
注意:
1.jmeter元件执行顺序跟自动化脚本执行顺序差不多,可以按照自动化脚本的运行顺序来记忆。
2.前置处理器,后置处理器,断言等元件功能只对取样器起作用(如果在它们的作用域内没有任何取样器,则不会被执行)。
3.如果在同一作用域范围内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序依次执行。