我正在尝试加载测试一些需要进行身份验证的API(OAuth 2.0)并在JMeter中对其进行模拟.经过广泛的搜索后,我只遇到了一个JMeter插件,但它并没有太大帮助.
我正在尝试验证Azure云的OAuth服务.有没有人能够成功创建JMeter HTTP请求以对OAuth 2.0进行身份验证?
基本上,您需要添加HTTP标头管理器以发送Authorization
带有值的标头,Bearer ${ACCESS_TOKEN}
以便进行经过身份验证的OAuth API调用.
访问令牌可以通过两种主要方式获得:
以某种方式获取它(请求它,使用需要模拟的嗅探工具和应用程序捕获它等),但要注意OAuth访问令牌的生命周期有限(默认情况下为1小时,这也适用于第2点)
在测试中实现OAuth2流程,即:
验证(提供客户ID和租户ID)
授权(使用客户端ID和上一步的代码)
获取访问令牌(提供上一步的授权代码,第一步的代码和客户端ID)
关于实现选项2 - 它将需要3个独立的JMeter采样器(或者您可以通过JSR223采样器以编程方式获取访问令牌)
参考文献:
Microsoft Azure REST API + OAuth 2.0
AzureAD/Azure的ActiveDirectory的库换的java
如何使用JMeter对OAuth安全应用程序运行性能测试