我试图从Regular Expression Extractor
的子子样本中Mail Reader Sampler
提取用户ID,但没有成功。
我不明白为什么Regular Expression Extractor
无法检查Mail Reader Sampler
的子样本。我是如何提取用户ID的?
我对Mail Reader Sampler的回应。子子样本实际上包含电子邮件为html。
电子邮件包含这样的部分,其中包含包含用户ID的激活链接:
<span class="link-ref"><a href="https://domain.local:443/account/activate?userId=La21BhmS&token=FefcOrcd7g">https://domain.local:443/account/activate?userId=La21BhmS&token=FefcOrcd7g</a></span>
答案 0 :(得分:2)
正则表达式提取器不会比第一级子样本更深入(它只会查看Message 1
),我建议使用JSR223 PostProcessor迭代子结果并将结果附加到主采样器,因此您可以使用正则表达式提取器。
将以下代码放入JSR223 PostProcessor&#34; Script&#34;区域
StringBuilder aggregateResult = new StringBuilder()
prev.getSubResults().each {
aggregateResult.append(it.getResponseDataAsString())
it.getSubResults().each {
aggregateResult.append(it.getResponseDataAsString())
it.getSubResults().each {
aggregateResult.append(it.getResponseDataAsString())
}
}
}
prev.setResponseData(aggregateResult.toString().getBytes())
上面的代码会将子采样器的结果追加到第二级到&#34; Mail Reader Sampler&#34;响应数据和正则表达式将起作用。有关在JMeter中使用Groovy脚本的更多信息,请参阅Groovy Is the New Black文章。