我在jmeter中有一个测试计划,它执行以下操作:
使用邮件阅读器采样器从Gmail帐户中检索电子邮件。
使用正则表达式提取器获取验证电子邮件链接并将其设置为变量
1-3正常工作我遇到的问题是当我收到验证邮件链接时它还会捕获协议https://所以一旦我尝试使用HTTP Sampler获取链接我得到http:/&#34 ; https:后跟网址。
如何从正则表达式中排除http:协议,或者是否有其他可用于点击链接的采样器
我正在解析的响应: HREF =" HTTPS://qa4.iqnavigator.com/routing/YTMzYThjYzctNjIyNy00MWRmLTlhOGItOTdiNWVjMDY1YWFm">
我正在使用的正则表达式:"([^"] +?)"捕获的内容:https://qa4.company.com/routing/YTMzYThjYzctNjIyNy00MWRmLTlhOGItOTdiNWVjMDY1YWFm
任何想法
答案 0 :(得分:0)
我相信你的问题的解决方案是仔细使用正则表达式提取器的字符分组和JMeter的“模板”功能。
例如,这个RegEx:
https://([^/]*)/
使用模板:
$1$
这将匹配网址,但不包括“https://”部分或主机之后的路径,在JMeter存储的实际变量中。这只会存储主机本身,在您的示例中为“qa4.iqnavigator.com”。
另一个例子,假设您只想提取路由ID,但您不确定它是http还是https:
href=".*://qa4.iqnavigator.com/routing/([^"]*)"
Template: $1$
有关详细信息,请check out this answer。
如果我可以进一步澄清,请告诉我。