性能测试工具 十、Jmeter 关联-Xpath 提取器

Maple · 2020年01月21日 · 1108 次阅读

写在前面的话

全国相继出现新型冠状病毒,也挡不住我更新 Jmeter 系列的热情!

Xpath 提取器在做网页源文件提取时候用的比较多,提取完参数后,相当于把参数以 key-value 的形式放到参数池,以便后面的请求使用。

注意:不能超前引用,即在定义前就进行参数化

实战

在请求的子节点下添加后置处理器 Xpath 提取器,如下源文件

我们来利用 xpath 提取出所有随笔的 URL,如下图,所有 url 都匹配出来了

表达式://a[@class="postTitle2"]/@href 解释,意思就是查找所有的 a 标签,a 标签要满足 class 属性为 “postTitle2”,通过 @ 获取 a 标签的属性值

如果想提取 a 标签的名称,我们可以把表达式写成:
//a[@class="postTitle2"]/text()

另外表达式://a[@class="postTitle2"],去掉/text() 也是可以的,大家可以自己试试
Xpath 语法:

  • //*[@class='postTitle2']/@href 从根目录下定位所有 class=postTitle2 的 href 值
  • //*[@class='postTitle2'] 从根目录下定位所有 class=postTitle2 标签内的文本
  • //a[contains(@class,'postTitle2')] 从根目录下 a 标签的 class 值中包含 postTitle2 的节点
  • substring-before(.//*[@class='postTitle2']/text(),'基础') 返回根目录下 [@class='postTitle2']/text() 中第一个'基础'前面的部分,如果不存在'基础',则返回空值

  • substring-after(.//*[@class='postTitle2']/text(),'基础') 和上面的结果相反,得到 “-常用内置函数”

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册