使用 OAuth2 对 Azure Web 应用程序进行负载测试

Load Testing Azure Web App with OAuth2

我正在努力集中精力设置负载测试安全的 Azure Web 应用程序。我想将负载测试推送到云端,考虑到我们在线使用 VS,这非常简单。但是,当 运行 多个用户时,我会遇到几个错误。我认为错误围绕着一个帐户试图获得对使用多个 'virtual users.'

模拟的 Web 应用程序的授权

错误: https://login.microsoftonline.com/common/login----{POST} 在测试上下文中找不到上下文参数 $HIDDEN1.ctx

https://mysite.azurewebsites.net/----{POST} 在测试上下文中找不到上下文参数 $HIDDEN1.code

一系列套接字异常: https://localhost:port/skypetoc/v1/pnr/parse----{POST} 主动拒绝连接

ValidateResponseUrl 错误 https://mysite.azurewebsites.net/----{GET} expectedresponseUrl 属性 'https://login.microsoftonline.com/common/oauth2/authorize 的值不等于实际响应url https://mysite.azurewebsites.net 查询字符串参数被忽略。

运行 使用单个用户帐户在本地进行的此测试工作正常。在具有多个模拟用户的单个登录帐户下推送到云会产生所有这些错误。

问题1. 我需要创建 n 个用户帐户才能正常工作吗? 2. 我是否只需要在请求级别创建自定义插件来为每个用户请求获取新的授权令牌? 3. Visual Studio 在线 Azure 负载测试是否内置了对此类内容的支持?

我真的不想测试登录的性能,因为它不在我手中。但我确实想测试我的网络应用程序在其他功能负载下的性能。

Visual Studio Online 不允许 localhost 作为您回调中的主机名 URL。您可以在本地计算机上编辑主机文件以将主机名映射到 127.0.0.1。然后在注册应用程序时使用此主机名。或者,您可以在测试到 Microsoft Azure 网站时部署您的应用程序,以便能够调试和使用 HTTPS 进行回调 URL。参见:https://www.visualstudio.com/en-us/integrate/get-started-auth-oauth2-vsi.aspx