Jmeter:如何点击确认电子邮件链接?

时间:2016-09-14 23:17:14

标签: java regex jmeter

我的表现测试包括

  1. 正则表达式从gmail客户端提取确认电子邮件,然后
  2. 我有一个http请求,用于呈现确认网址 邮件阅读器采样器 包括作为孩子的正则表达提取器 然后http请求页面使用来自正则表达式提取器的变量。 但不知怎的,我得到404错误。
  3. 我附上了我的正则表达式代码。 评论部分显示了我尝试过的各种正则表达式

    这是我的正则表达式

    <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
        <stringProp name="RegexExtractor.useHeaders">false</stringProp>
        <stringProp name="RegexExtractor.refname">link</stringProp>
        <stringProp name="RegexExtractor.regex">https://([^/].*)&amp;form_action=validate</stringProp>
        <stringProp name="RegexExtractor.template">$1$</stringProp>
        <stringProp name="RegexExtractor.default"></stringProp>
        <stringProp name="RegexExtractor.match_number">0</stringProp>
        <boolProp name="RegexExtractor.default_empty_value">true</boolProp>
        <stringProp name="TestPlan.comments">encryption2.emktg2.info(.*?)&quot;  and encryption2.emktg2.info/campaign-jmeter/thanks.page(.*?) and href=\&quot;(.*?)\&quot; and https://([^/]*)/</stringProp>
        <stringProp name="Sample.scope">all</stringProp>
    </RegexExtractor>
    

1 个答案:

答案 0 :(得分:0)

简答:我们无法使用Jmeter点击,而是使用http sampler捕获并发送url(即,点击/提交)。即,模拟单击确认电子邮件链接时触发的HTTP请求。

答案很长:

  1. 捕获您在确认邮件中收到的网址(确认链接)(使用正则表达式提取器)
  2. 在“邮件阅读器”采样器之后再添加一个http采样器(让我们称之为确认HTTP采样器),在采样器中提取要提交/提交的网址。在服务器名称,端口,协议,路径和正文字段中(不需要在确认链接中显示所有参数),提供使用正则表达式提取器捕获的值。我建议使用乘法组分别捕获所有参数,使用括号“()”和模板,$ 1 $,$ 2 $等指定(组数与模板数匹配)
  3. 使用标题管理器将所有必需的标题添加为“确认采样器”。 注意:要知道,要添加的所有标头(例如 Cookie 参考等),使用wirehark等网络嗅探器捕获来自浏览器的请求, burpsuite等,或使用网络选项卡下的内置浏览器选项,如F12。
  4. 建议:请在所有采样器的末尾添加Debug sampler(以使用正则表达式提取器查看捕获的url),并查看结果树(以查看发送的实际请求和收到的响应。 )。