JMeter登录和身份验证采样器

时间:2013-11-18 08:18:28

标签: jmeter jmeter-plugins

有没有人可以通过以下方案帮助测试登录/身份验证?

用户访问网站“sitaA.com”主页。在该页面中,有一个“使用oauth登录”按钮。

点击“使用oauth登录”按钮后,“siteA.com”会重定向到“siteB.com”,用户可以在其中输入用户名并密码并登录。它会对用户进行身份验证(oauth)并返回回到“siteA.com”。

siteA.com会在重定向到siteB.com时发送客户端ID并回拨网址。

如何使用JMeter实现这一目标?

提前致谢

1 个答案:

答案 0 :(得分:4)

OAuth基本上是一种获取令牌的方式。如果您正在对启用OAuth的应用程序进行负载测试,则需要执行以下操作:

  • 请求临时访问令牌
  • 授权访问令牌
  • 将临时访问令牌更改为永久性

您可以手动执行上述步骤,通过嗅探器捕获永久访问令牌,并将其作为单独的HTTP请求参数添加到您的请求中。如果您在测试中重复使用有限数量的用户登录,则可能会为您解决问题。

但是,如果您需要测试端到端流程(假设通过JMeter获取令牌流程),则需要考虑OAuth Sampler Plugin

所以基本上你需要做以下其中一项:

  1. 手动三步OAuth登录和捕获令牌流程,然后添加令牌作为每个虚拟用户的HTTP请求的参数
  2. 通过JMeter OAuth采样器自动执行OAuth登录过程
  3. 如果登录/用户数量有限,则选项1可能更好

    P.S。高级JMeter用户和/或Java开发人员还可以选择将OAuth Java客户端库添加到JMeter lib / ext文件夹,并使用Beanshell Samplers对OAuth进行身份验证。您也可能需要使用Selenium with JMeter导航到OAuth回调页面,并从那里确认授权登录。