Jmeter(二十五)_Xpath关联

Posted 飞天小子性能课堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter(二十五)_Xpath关联相关的知识,希望对你有一定的参考价值。

https://pan.baidu.com/s/1YTl3yqkGT8JubyanCEVBfg 提取码:cp19
jmeter 入门必读40篇

https://pan.baidu.com/s/1kZhWKmqrGICvRlUr50JgLw 提取码:0c8d
性能测试初级到高级必读40篇

https://pan.baidu.com/s/1_2iKjBHDaGnWBWLXyv6LWw 提取码:m4bj
Jmeter全系列插件包

 

在Jmeter中,除了正则表达式可以用作关联,还有一种方式也可以做关联,那就是 XPath Extractor。它是利用xpath提取出关键信息,传递变量。

具体用法

添加一个后置处理器-XPath Extractor

实际操作

 

以腾讯新闻网为例,我们做一次演练。对腾讯新闻网我们发起一次请求,观察结果。

 

 

 

现在我想利用xpath把这些url都取出来,我们来写一个xpath表达式匹配一下。发现url都被匹配出来了。

 

.//a[@class=\'linkto\']/@href 具体是什么意思呢?意思就是通过a>class>href这三层标签进行逐级检索,找到class=linkto标签下的所有href,进行匹配

这里如果我想匹配到href标签下的文字标题怎么办?改一下表达式吧--.//a[@class=\'linkto\'],我们发现取出来都是标题,后面可以再进行拼接

现在表达式没有问题了,我们将添加的xpath提取器挂在http请求下面。添加一个debug查看结果,可以看到debug中已经获取到了这些url

我们可以添加两个xpath提取器,分别提取url和title进行拼装,运行查看结果

 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\',则返回空值

 

 参考

https://blog.csdn.net/gongbing798930123/article/details/78955597

https://www.blazemeter.com/blog/using-xpath-extractor-jmeter-0

龙渊阁测试家园:317765580

 

以上是关于Jmeter(二十五)_Xpath关联的主要内容,如果未能解决你的问题,请参考以下文章

jmeter关联-正则表达和xpath

jmeter接口测试-17XPath关联

Jmeter(五)关联之XPath提取器

JMeter学习(二十三)关联

JMeter学习(二十三)关联

JMeter 十五:函数以及变量