authentication - 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 个用户)。
对于此类问题的优雅提示和建议将不胜感激。
解决方案
应该可以使用 ie BrowserMob Proxy来捕获由 WebDriver Sampler 编排的浏览器和后端之间的流量,这样您就可以提取Authorization标头值并将其存储到 CSV 文件中以供以后重用。
一般来说,也应该可以使用 JMeter 的HTTP 请求采样器复制浏览器的身份验证流程,因为浏览器不会做任何魔法,它们只是发送HTTP 请求并显示响应,因此行为良好的 JMeter 测试应该生成与真正的浏览器可以
推荐阅读
- python-3.x - 最小化成本函数时带有 scipy.optimize 的 TypeError
- php - 打印发票数据空白php foreach循环错误
- go - 将文件复制到文件夹中,直到达到一定大小
- mmc - 使用 mmc.exe 拒绝访问
- java - 异常:发布运行应用程序时的 ClassNotFoundException 和 NoClassDefFoundError
- r - 如何在 Rtsne 图中对我的样本进行颜色编码
- c# - 设置数据上下文时如何使用用户控件依赖属性?
- java - Java 8 Streams:为什么 mapToInt 需要 Integer::parseInt 作为参数?
- java - 此代码中的继承错误是什么?
- python - Python-Django [SSL: WRONG_VERSION_NUMBER] 错误