我已经在Visual Studio中创建了一个使用以下类的插件:
using Microsoft.Azure.KeyVault;
using Microsoft.Azure.Services.AppAuthentication;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.AzureKeyVault;
此类使用客户端ID,客户端密钥和资源ID来输出承载令牌,该令牌附加到请求的标头中,以提供对位于Azure中的应用程序的性能测试访问权限。
但是,我们现在正在寻找使用JMeter的方法。目的是在JMeter中创建相同的功能。
我看过各种论坛和站点。但是,在使用所需的变量方面,逐步浏览配置令牌的Microsoft配置,似乎并不能完全满足我的需求。
public string TenantId = "{TenantID}";
public string Authority = "{Authority URL}";
private static IConfiguration Configuration;
private ApplicationAuthenticator _applicationAuthenticator;
public override void PreWebTest(object sender, PreWebTestEventArgs e)
{
Configuration =
TestConfigurationBuilder.BuildConfiguration(KeyVaultUrl, AppId, TenantId,
AppKey, Authority);
_applicationAuthenticator = new
ApplicationAuthenticator(Authority);
string token =
_applicationAuthenticator.SetToken
(Configuration[ClientIdKeyVaultVariable],
Configuration[ClientSecretKeyVaultVariable],
Configuration[ResourceIdKeyVaultVariable]);
e.WebTest.Context.Add("AuthToken", $"Bearer {token}");
}
这是使用C#在Visual Studio中生成{token}的代码。
为了输出相同的值,我需要在JMeter中使用哪些类和函数?