jmeter-基础及注意点
jmeter-基础及注意点
-
测试计划(TestPlan)的元素执行顺序:
1. 配置节点 Config Element 2. 前置处理器 Pre Processors 3. 定时器 Timer 4. 取样器 Sampler 5. 后置处理器 Post Processors----------------- -只在有结果可用的情况下执行 6. 断言 Assertions-----------------------------只在有结果可用的情况下执行 7. 监听器 Listener-----------------------------只在有结果可用的情况下执行
-
作用域的理解
开发一个Jmeter性能测试脚本,实际上就是根据场景,按照一定的作用域拼装组件。组件都是围绕采样器工作,元件在哪个采样器之下,则作用在哪个采样器,否则作用全部采样器。 同一级别,同一组件,则按照由上至下的先后顺序
-
脚本开发基本原则
1. 简单:去除无关的组件,同时能复用的尽量复用 2. 正确:脚本或业务正确性进行判断 3. 高效:部分组件仅仅在开发模式使用,真正生产环境下不使用,Lisener越少越好
-
Config Element中Manager和Defaults组件的区别
1. HTTP Cookie Manager If there is more than one Cookie Manager in the scope of a Sampler, there is currently no way to specify which one is to be used. Also, a cookie stored in one cookie manager is not available to any other manager, so use multiple Cookie Managers with care. 注意: Config Element里以Manager结尾的组件,同一作用域绝对不能出现两个相同的Manager。 2. HTTP Request Defaults - 同一级别有多个HTTP Request Defaults: 则采样器拿默认值数据,能叠加的会叠加,不能叠加的取上边的。 - 一个线程组非同一级别有多个HTTP Request Defaults: 则采样器拿最近的默认值数据(子集)。 - 能叠加的:参数等 不能叠加的:域名,端口等
-
Jmeter中的属性
特点:属性供所有线程所共享,脚本的任何地方都可见(全局) 查看jmeter或system属性: Teat Plan --> Non-Test Elements --> Property Display 获取属性值的函数: ${__P(属性名,找不到给一个默认值)}
-
Jmeter中的变量
Debug Sampler 目的:专门查看变量的采样器,用于调式测试脚本 可以查看Jmeter属性/Jmeter变量/系统属性
-
变量的特性:
如果有某个线程更新了变量,那么仅仅是更新了变量在该线程中复制的值。例如:“正则表达式提取器”会依据它所在线程的采样结果来更新变量值,该变量值可以供相同的线程后续使用。 变量是每个线程都有各自一份的,一个线程修改不影响另一个线程使用。