1

任何人都可以帮助测试以下场景的登录/身份验证吗?

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

单击“使用 oauth 登录”按钮后,“siteA.com”重定向到“siteB.com”,用户可以在其中键入用户名和密码并登录。它验证(oauth)用户并返回“网站A.com”。

当重定向到 siteB.com 时,siteA.com 将发送客户端 ID 和回调 url。

如何使用 JMeter 实现这一点?

提前致谢

4

1 回答 1

4

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

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

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

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

因此,基本上您需要执行以下操作之一:

  1. 手动 3 步 OAuth 登录和捕获令牌过程,然后为每个虚拟用户添加令牌作为 HTTP 请求的参数
  2. 通过 JMeter OAuth 采样器自动完成 OAuth 登录过程

如果您的登录/用户数量有限,选项 1 可能会更好

PS 还有一个选项供高级 JMeter 用户和/或 Java 开发人员将 OAuth Java 客户端库添加到 JMeter lib/ext 文件夹并使用 Beanshell 采样器通过 OAuth 进行身份验证。您也可能必须将Selenium 与 JMeter一起使用才能导航到 OAuth 回调页面并从那里确认授权登录。

于 2013-11-18T14:04:37.567 回答