Jmeter的核心知识点-关联
一、关联
1.1 什么是关联?
概念:关联就是一个请求的响应结果要作为另一个请求的提交数据
1.2关联常用的两种方式(后置处理器中)
- 正则表达式提取
- 使用xpath进行提取
二、步骤的实施(正则表达式提取)
1、创建测试计划,线程组,添加http请求
2、添加正则表达式提取器
图:
参考解释:
- 引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。
- 正则表达式:制定规则的公式 公式模板:前缀识别()后缀识别():括起来的部分就是要提取的数据。1):匹配任何字符。2) +:一次或多次。3)?:在找到第一个匹配项后停止。4)*:匹配规则内所有字符串
- 模版:$$格式; 1 1 1表示解析到的第一个值,如果匹配到有两个值,第二个值就是 2 2 2,以此类推。
- 匹配数字:1代表全部取值,0代表随机取值,通常情况填1。
注:传值的话,把第一个请求的值传给第二个请求,格式是:${变量名}
三、步骤实施(xpath提取器)
1、创建测试计划,线程组,http请求
2、添加xpath提取器
图:
参考解释:
- Use Tidy:当需要处理的页面是HTML格式时,必须选中该选项。备注:Tidy 一种HTML格式化模版
- Reference Name(引用名称):存放提取出的参数名称(被引用时使用)
- Xpath Query:用于提取值的Xpath表达式(和web自动化中元素定位的xpath是一样的)
注意两点:
-
如果返回的响应值是json格式该如何提取?
比如这段json: { "data": [ { "dep_id":"T01", "dep_name":"Test学院", "master_name":"Test-Master", "slogan":"Here is Slogan" } ] }
如果提取web端的html数据直接使用xpath进行定位即可。若返回值如上边json格式的数据,则不需要点击Use Tidy复选框。举例:提取 “dep_id”的值作为下一次请求的提交数据
引用名称:my_id
Xpath query:$.data[0].dep_id
-
传值方法
传值:将第一个请求的xpath提取的数据传递给第二个请求格式: $ {变量名},例如:提取上边json格式中的dep_id数据,则是 $ {my_id}
关联总结
1. 正则表达式可以用于提取对页面任何文本文档、标签文档的提取,提取的内容是根据正则表达式在页面内容中进行文本匹配
2. xpath Extractor则可以提取返回页面任意标签元素的任意属性,如://a[@href="http://tieba.baidu.com"]/@name