如何使用JMeter使用正则表达式提取器

时间:2016-12-07 01:21:28

标签: jmeter

我是JMeter的新手,需要模拟大约200名用户登录该应用程序的场景。

使用录音控制器我已经记录了步骤 注意:我已使用myapplication.com替换了实际的网站名称

第1步(GET):导航至https://myapplication.com/login

第2步(GET):有一个自动重定向

auth.org.domain.com/idp/saml2/idp/SSOService.php 

第3步(POST):有一个自动重定向到

auth.org.domain.com//idp/module.php/core/loginuserpass.php?AuthState=xxxx

现在,步骤2中的响应数据为我提供了响应正文中以下格式的AuthState令牌

You were redirected to: <a id="redirlink" href="https://org.domain.com/idp/module.php/core/loginuserpass.php?AuthState=_b68bdd977f7cf900eb1b4512b56bc2d0b13dc734e2%3Ahttps%3A%2F%2Fauth.org.domain.com%2Fidp%2Fsaml2%2Fidp%2FSSOService.php%3Fspentityid%3Dhttps%253A%252F%252Forg.domain.com%26cookieTime%3D1481072747">https://org.domain.com/idp/module.php/core/loginuserpass.php?AuthState=_b68bdd977f7cf900eb1b4512b56bc2d0b13dc734e2%3Ahttps%3A%2F%2Fauth.org.domain.com%2Fidp%2Fsaml2%2Fidp%2FSSOService.php%3Fspentityid%3Dhttps%253A%252F%252Forg.domain.com%26cookieTime%3D1481072747

我可以看到Auth状态重复两次。如何在此处提取auth状态

"_b68bdd977f7cf900eb1b4512b56bc2d0b13dc734e2%3Ahttps%3A%2F%2Fauth.org.domain.com%2Fidp%2Fsaml2%2Fidp%2FSSOService.php%3Fspentityid%3Dhttps%253A%252F%252Forg.domain.com%26cookieTime%3D1481072747"

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

使用以下正则表达式配置:

  • 申请:Main sample and sub-samples
  • 要检查的字段:Body
  • 参考名称:任何有意义的内容,即authstate
  • 正则表达式:AuthState=(.+?)"
  • 模板:$1$

在必要时将提取的值称为${authstate},如

/idp/module.php/core/loginuserpass.php?AuthState=${authstate}

演示:

Regular Expression JMeter SAML

参考文献: