Jmeter 关联
目标
- 了解关联应用场景;
- 掌握正则表达式的作用和用法;
1. 需求
1. 对http://www.baidu.com进行2次访问;
2. 第一次获取title值,第二次把获取的值作为参数名(title)的参数值附加请求中。
1.1 问题
1. 如何从第一次请求获取的响应数据中提取title值?
2. 解决这种需求场景在测试领域中叫什么?
1.2 什么是关联?
概念:从上一条请求中获取数据,使用在下一条请求中的过程。
1.3 Jmeter关联中常用的两种方式
1. 正则表达式提取器
2. XPath Extractor
2. 正则表达式提取器
概念:根据需求定制规则,返回匹配规则的数据的一种组件
2.1 实施方案分析
1. 测试计划->线程组
2. 线程组->HTTP请求(获取title)
3. 获取title->后置处理器->正则表示式提取器
4. 线程组->HTTP请求(使用title)
5. 测试计划->察看结果树
2.2 技术难点分析
1. 正则表达式
2.2 正则表达式提取器配置图
1. 引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。
2. 正则表达式:制定规则的公式
公式模板:前缀识别()后缀识别
():括起来的部分就是要提取的数据。
1) .:匹配任何字符串。
2) +:一次或多次。
3) ?:在找到第一个匹配项后停止。
4) *:匹配规则内所有字符串
3. 模板:$$格式;$1$表示解析到的第1个值;如果匹配有2个值,第二个值$2$,以此例推
4. 匹配数字:1代表全部取值,0代表随机取值,通常情况下填1
正则表达式[科普]
正则表达式,又称规则表达式,正则表通常被用来检索、替换那些符合某个规则的文本。
详情资料: http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp
正则表达提取器-总结:
1. 位置
2. 引用名称
3. 正则表达式
4. 模板格式
5. 匹配数字
3. XPath Extractor
一种可被用来提取页面给定内容的组件,主要采用的方式为XPath路径
3.1 解决方案分析
1. 测试计划->线程组
2. 线程组->HTTP请求(获取title)
3. 获取title->后置处理器->XPath Extractor
4. 线程组->HTTP请求(使用title)
5. 测试计划->察看结果树
3.2 实施难点分析
1. XPath 路径
3.3 XPath Extractor 配置参数图
1. Use Tidy?:当需要处理的页面是HTML格式时,必须选中该选项。
1) Tidy:一种HTML格式化模板
2. Reference Name:存放提取出的值的参数名称(被引用时使用)。
3. XPath Query:用于提取值的XPath表达式(跟学习WEB自动化使用XPath一样)。
3.3 XPath Extractor 总结:
1. XPath表达式
2. Use Tidy
4. 关联-总结:
区别
1. 正则表达式提取器可以用于对页面任何文本的提取,提取的内容是根据正则表达式在页面内容中进行文本匹配;
2. XPath Extractor则可以提取返回页面任意元素的任意属性,如//a[@href="http://tieba.baidu.com"]/@name;
选择
1. 如果需要提取的文本是页面上某元素的属性值,建议使用XPath Extractor;
2. 如果需要提取的文本在页面上的位置不固定,或者不是元素的属性,建议使用正则表达式提取器。