标签:
以前一直使用loadrunner,最近入职新公司后需要使用jmeter,这里把使用过程中出现的一些问题进行总结,同时会和自己使用loadrunner的情况相比较,以后也会不断总结,GO!
一、组件的作用域
元件收集其作用范围的每一个sampler元件的信息并呈现,在jmeter中,元件的作用域是靠测试计划的的树型结构中元件的父子关系来确定的,作用域的原则是:
以上是在网上经常会出现的组件的作用域的范畴,但是这里我个人在用的时候却遇到了一点不一样的地方,见如下的分解。
二、组件的作用域之用户定义变量
最近做性能测试的时候用到了多个配置原件,这里说些细节,逻辑上还是和一中的描述匹配的,但是没有说在多个线程组,在子元素中又是如何工作的呢?有如下的场景。
1、有2个线程租,在其中一个线程租定义了用户定义变量,在另一个线程租会不会生效?
2、如果在子元素中定义了用户定义变量,那么在父元素中能否使用呢?
3、除了用户定义变量外其他的配置远见又是如何的呢?
因为在测试中脚本总是出错,不按照自己的理解来执行,单独测试后发现有如下的规律
1、用户定义的变量是跨越多个线程组的,也就是说无论定义了多少变量的容器,只要变量的名字是一样的,也就是说作用域是测试计划。(所以如果定义了多个容器而变量的名字一样,那么肯定会出现预想不到的结果)
2、因为作用域都是整个测试计划,所以无论定义到哪里,效果都是一样的
3、其他的配置原件都是和一中描述的一致的,比如cookie如果定义到一个线程组中那么作用域就是当前的线程组,或许还有特殊的是暂时没有发现的。
因此个人习惯上把用户定义变量都定义到setup中,其他地方都不存在变量。
PS:以下是测试的过程,在setup中定义用户变量,在另一个线程组中使用
其他的没有全部测试,测试了cookie和CSV都是在当前的线程组。
标签:
原文地址:http://www.cnblogs.com/a2602162453/p/5169676.html