给各位想学软件测试的同学们准备了一些自学资料,打开方式戳我并且输入暗号:优快云←←←
整理不易,希望对各位学习软件测试能带来帮助
2:XPath 提取
Xpath 基础语法:
//[@class,‘A’]/@href 从根目录下定位所有 class=A 的 href
//[@class,'A ‘] 从根目录下定位所有 class=A 标签内的文本
//[contains(@class,‘A’)] 从根目录下@class 值中包含 A 的节点
substring-before(//[@class=‘A’]/text(),‘0’) 返回根目录下[@class=‘A’]/text()中第一个’0’前面的部分,如果不存在’0’,则返回空值
substring-after(//[@class=‘A’]/text(),‘0’) 返回根目录下[@class=‘A’]/text()中第一个’0’ 后面的部分,如果不存在’0’,则返回空值
////a/text() 返回根目录下 a 标签中所有文本
//[starts-with(@class,’A’)]模糊匹配以 A 开头
//[ends-with(@class,’A’)] 模糊匹配以 A 结尾
3:正则表达式提取
它通过正则表达式获取接口响应,并传入下个接口
引用名称:定义一个变量,供后续请求引用
一般(.+?)和(.*?)能够满足我们 80%的使用场景。所以,一般的
正则表达式都可以写成下面这 2 种
左边界(.+?)右边界
左边界(.*?)右边界
left 对应匹配目标的起始字符
right 对应匹配目标的结束字符
正则表达式:利用正则将需要的数据提取出来
() 括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来
. 点号表示匹配任何字符串
+ 一次或多次
? 在找到第一个匹配项后停止
模板:用 $ $ 引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来),则可以是 $ N $ 等,表示提取第 N 个括号里面的值
匹配数字-1:表示取所有返回值,此时提取结果是一个数组,其余正整数代表第几个匹配的内容提取出来。如果匹配数字选择的是-1,后续还可以通过 $ {XXX_1}的方式来取第 1 个匹配的内容,${XXX_2}来取第 2 个匹配的内容。
匹配数字 1:表示取第一个返回值
匹配数字 2:表示随机取一个返回值
缺省值:正则匹配失败时取的值
例 1:提取第一个 Name
例 2:提取全部 Name
例 3:表达式同时提取 Name 和 population,并传出两个参数
例 4:拆分身份证号码,提取生日
一个 18 位的身份证号码,前 1-6 位是地区,7-14 位是生日,15-17 位是顺序码,最后 1 位是校验码,试图通过正则从身份证号中提取地区和生日
正则表达式:
{“(.{6})(.{8})(.{3})”}
(.{6}):任意字符匹配 6 次,对应匹配结果中的前 6 位字符(地区)
(.{8}):任意字符匹配 8 次,对应匹配结果中的第 7-14 位字符(生日)
从身份证号码中取出地区和生日,对应的正则表达式为:
(.{6})(.{8})(.{3})(.)
匹配第二组→ $ 2 $
例 5:条件判断取值
提取 population=800 的城市
八个基础配置元件
1:CSV Data Set Config
在使用 JMeter 的时候,往往需要参数化一些数据,常用到的就是 CSV Data Set Config
Filename:文件名,指保存信息的文件目录,可以相对或者绝对路径(比如:D:\ceshi.Txt)
File encoding:csv 文件编码,可以不填
Variable Names:变量名,多个变量用“,”分开。
Delimiter:csv 文件中的分隔符(用”\t”代替 tab 键)(一般情况下,分隔符为英文逗号)
Allow quoted data:是否允许引用数据
Recycle on EOF :到了文件尾处,是否循环读取参数,选项:true 和 false。因为CSV Data Set Config
一次读入一行,分割后存入若干变量交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入
Stop thread on EOF:到了文件尾处,是否停止线程,选项:true 和 false