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

        以百度热榜为例,我们做一次演练。对百度热搜我们发起一次请求,观察结果。

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

Xpath提取百度热榜新闻_百度

        //ul[@class="s-hotsearch-content"]//li//a//@href 具体是什么意思呢?意思就是通过url>li>a>href这四层标签进行逐级检索,找到class="s-hotsearch-content"]标签下的url对应的li>a标签下的所有href,进行匹配。

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

Xpath提取百度热榜新闻_百度_02

 

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

Xpath提取百度热榜新闻_百度_03

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

Xpath提取百度热榜新闻_百度_04