一。计数器
先说说利用jmeter生成数据的几种方法:
1、CSV Data Set Config
这个元件被用来在参数化生成数据时使用,简单高效,容易生成有序数;只需要新建excel,然后通过拖拽、复制黏贴等方式产生不同的数据,然后读取调用即可。
但它也有不足之处,如下:
①如果数据库中某些表的某些字段不允许重复(比如订单号),那么在完成一轮测试后,再次测试需要重新手动构造新的不重复的数据;
②excel只有数字格式才可以通过拖拽生成增长数据;
③数据量过大时,容易被excel修改为科学计数法;
PS:关于该元件以及参数化,请参考之前的博客:http://www.cnblogs.com/imyalost/p/6229355.html
2、${_Random}
${_Random}是jmeter函数助手里面自带的一个函数,作用是返回指定的最大值和最小值之间的一个随机数。
缺点:数值可能会重复出现;
PS:关于jmeter函数助手,请参考之前的博客:http://www.cnblogs.com/imyalost/p/6802173.html
如果需要引用的数据量较大,且要求不能重复或者需要自增,那么可以使用计数器来实现。
计数器(counter):允许用户创建一个在线程组之内都可以被引用的计数器。
计数器允许用户配置一个起点,一个最大值,增量数,循环到最大值,然后重新开始,继续这样,直到测试结束。计数器使用long存储的值,所取的范围是2^63——2^63-1.
1、启动jmeter,添加线程组,右键添加配置元件——计数器
计数器界面如下:
启动(start):给定计数器的起始值、初始值,第一次迭代时,会把该值赋给计数器
PS:英文版是Start,Jmeter的中文语言将Start翻译成了“启动”,有些歧义
递增(Increment):每次迭代后,给计数器增加的值
最大值(Maximum):计数器的最大值,如果超过最大值,重新设置为初始值(Start),默认的最大值为Long.MAX_VALUE,2^63-1(如果持续压测,建议最好不要设置最大值)
Number format:可选格式,比如000,格式化为001,002;默认格式为Long.toString(),但是默认格式下,还是可以当作数字使用
引用名称(Reference Name):用于控制在其它元素中引用该值,形式:$(reference_name}
与每用户独立的跟踪计数器(Track Counter Independently for each User):全局的计数器,如果不勾选,即全局的,比如用户#1 获取值为1,用户#2获取值还是为1;
如果勾选,即独立的,则每个用户有自己的值:比如用户#1 获取值为1,用户#2获取值为2。
每次迭代复原计数器(Reset counter on each Thread Group Iteration):可选,仅勾选与每用户独立的跟踪计数器时可用;
如果勾选,则每次线程组迭代,都会重置计数器的值,当线程组是在一个循环控制器内时比较有用。
二。断言(部分)
XPath断言
XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。
作用对象:针对返回信息为XPAth的数据类型进行断言
Apply to:适用范围
Main sample and sub-samples:主要样本和次级样本
Main sample only:仅主要样本
Sub-samples only:仅次级样本
JMeter Variable:jmeter变量(输入框内可输入jmeter的变量名称)
XML Parsing Options:XML解析选项
Use Tidy(tolerant parser):使用Tidy(容错解析器),默认选择quiet(不显示)
Quiet:不显示
Report errors:错误报告
Show warnings:显示错误
Use Namespaces:使用名称空间
Validate XML:验证XML(文件包/数据)
Ignore Whitespace:忽略空格(这允许你指定语法分析器可以忽略哪个空格,而哪个空格是重要的)
Fetch external DTDs:获取外部DTDs(一些XML元素具有属性,属性包含应用程序使用的信息,属性仅在程序对元素进行读、写操作时,提供元素的额外信息,这时候需要在DTDs中声明)
XPath Assertion:输入框中写入xpath断言,点击Validate验证其正确性
True if nothing matches:确认都不匹配
12、响应断言
判断返回内容中的内容
作用对象:响应报文中的所有对象
APPly to:适用范围
Main sample and sub-samples:作用于父节点取样器及对应子节点取样器
Main sample only:仅作用于父节点取样器
Sub-samples only:仅作用于子节点取样器
JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)
要测试的响应字段:要检查的项
响应报文
Documeng(text):测试文件
URL样本
响应代码
响应信息
Response Headers:响应头部
Ignore status:忽略返回的响应报文状态码
模式匹配规则:
包括:返回结果包括你指定的内容
匹配:(好像跟Equals查不多,弄不明白有什么区别)
Equals:返回结果与你指定结果一致
Substring:返回结果是指定结果的字串
否:不进行匹配
要测试的模式:即填写你指定的结果(可填写多个),按钮【添加】、【删除】是进行指定内容的管理
13、断言持续时间
用于判断服务器的响应时间
作用对象:服务器
APPly to:适用范围
Main sample and sub-samples:作用于父节点取样器及对应子节点取样器
Main sample only:仅作用于父节点取样器
Sub-samples only:仅作用于子节点取样器
Duration to assert:持续断言
Duration in milliseconds:响应时间设置(单位:毫秒),如果响应时间大于设置的响应时间,则断言失败,否则成功!
转自:https://www.cnblogs.com/imyalost/p/6024306.html (使用图片为自己造)