使用Jmeter从Href链接提取路径

时间:2014-07-29 00:50:36

标签: regex httprequest jmeter href

我正在尝试使用Jmeter开发一个简单的测试脚本,它可以执行bing搜索并从搜索结果中随机选择一个链接并导航到所选链接。我能够使用Regex Extractor& amp;随机变量函数,但我不确定的是,如何从随机捕获的href link.ie中提取路径,如果捕获的链接是" http://en.wikipedia.org/wiki/.NET_Framework",我想提取& #34; /wiki/.NET_Framework"从链接中将其替换为" Path"后续HTTP请求的文本空间。如果我是正确的,我认为在这里不可能使用Regex Extractor,因为没有唯一的边界来直接从页面的响应中提取路径。

1 个答案:

答案 0 :(得分:2)

让我们将http://en.wikipedia.org/wiki/.NET_Framework细分为组件:

  • http - 协议
  • en.wikipedia.org - 主持人
  • /wiki/.NET_Framework - 路径

添加Beanshell Pre Processor作为请求的子项,您需要替换路径并将以下代码添加到脚本区域:

import java.net.URL;

URL url = new URL(vars.get("LINK"));
sampler.setProtocol(url.getProtocol());
sampler.setDomain(url.getHost());
sampler.setPath(url.getPath());

上面的代码假定您的网址的引用名称为" LINK"。将其更改为在正则表达式提取器中指定的引用名称,它应该可以正常工作。

Beanshell Pre Processor在请求之前执行,因此将填充所有必填字段。

有关Beanshell脚本编制的更多详细信息,请参阅How to use BeanShell: JMeter's favorite built-in component指南。