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