首页 > 解决方案 > JMeter 中用于 Microsoft 登录的 Autorization Bearer 的解决方法(适用于具有特定组织服务帐户的单页应用程序)

问题描述

具有特定组织服务帐户的单页应用程序使用 microsoft 授权 (2.0)。要在 JMeter 中假装为使用此应用程序的用户,拥有 Bearer access_token 并在 JMeter 脚本请求的标头中传递此 Bearer 就足够了。我可以在浏览器中使用用户凭据手动登录,获取 Bearer 并将其设置为 API 请求标头中 JMeter 中的变量,并成功地继续使用应用程序功能。

我也可以登录 WebDriverSampler (我想,可以用 WebDriverSampler 模拟另一个用户在“浏览器”中的应用程序的操作)。

在没有耗时或面向编程的复杂解决方案的情况下,以某种方式在脚本中为 API 调用获取 Bearer 的最简单和最短的方法是什么?是否有可能以某种方式使用 WebDriverSampler 请求来解析承载?

在这个阶段,目标是收集(和生成)具有较长生命周期的 Bearer,以便以后将这组 Bearer 用于多会话 JMeter“用户”。(因为用户数量受用户服务帐户的成本限制,即我只提供了 1 个用户)。

对于此类问题的优雅提示和建议将不胜感激。

标签: authenticationoauth-2.0jmeterauthorizationsingle-page-application

解决方案


应该可以使用 ie BrowserMob Proxy来捕获由 WebDriver Sampler 编排的浏览器和后端之间的流量,这样您就可以提取Authorization标头值并将其存储到 CSV 文件中以供以后重用。

一般来说,也应该可以使用 JMeter 的HTTP 请求采样器复制浏览器的身份验证流程,因为浏览器不会做任何魔法,它们只是发送HTTP 请求并显示响应,因此行为良好的 JMeter 测试应该生成与真正的浏览器可以


推荐阅读