温馨提示:本文翻译自stackoverflow.com,查看原文请点击:visual studio - Azure Load test does not report data driven urls

visual studio - Azure负载测试不报告数据驱动的URL

发布于 2020-03-27 11:42:56

我有一个简单的负载测试,基本上可以在恒定负载下执行单个webtest。该Webtest挂接到了一个xml文件数据源,该数据源包含我整个网站的url。

当我从本地环境执行负载测试时,测试摘要页面会在“前5个最慢的页面”(即“ https://mysite.or/page ”)中报告各个URL 但是,当我从Azure执行同一测试时(即,在.testsettings中将“测试运行位置”更改为VSTS),这些链接将报告为“ https:// {{Enviroment}} {{Sitemap.url.loc}}”。这似乎只是一个报告问题,我可以验证azure是否从数据源正确调用了URL。为什么来自Azure的测试不会报告从数据源构造的URL?

负载测试摘要:从本地 执行在Azure上执行的相同测试本地测试摘要 Azure测试摘要

网络测试

<?xml version="1.0" encoding="utf-8"?>
<WebTest Name="GenericSitemap" Id="02954e81-f3a7-4c9c-94f5-3a4304f88361" Owner="" Priority="2147483647" Enabled="True" CssProjectStructure="" CssIteration="" Timeout="0" WorkItemIds="" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" Description="" CredentialUserName="" CredentialPassword="" PreAuthenticate="True" Proxy="default" StopOnError="False" RecordedResultFile="" ResultsLocale="">
  <Items>
    <Request Method="GET" Guid="01c37ffa-92db-42e8-9d25-a042dcd0123d" Version="1.1" Url="https://{{Enviroment}}{{Sitemap.url.loc}}" ThinkTime="0" Timeout="300" ParseDependentRequests="True" FollowRedirects="True" RecordResult="True" Cache="False" ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="0" ExpectedResponseUrl="https://{{Enviroment}}{{Sitemap.url.loc}}" ReportingName="" IgnoreHttpStatusCode="False" />
  </Items>
  <DataSources>
    <DataSource Name="Sitemap" Provider="Microsoft.VisualStudio.TestTools.DataSource.XML" Connection="|DataDirectory|\..\Data\sitemap.xml">
      <Tables>
        <DataSourceTable Name="url" SelectColumns="SelectOnlyBoundColumns" AccessMethod="Random" />
      </Tables>
    </DataSource>
  </DataSources>
  <ContextParameters>
    <ContextParameter Name="Enviroment" Value="mysite.net" />
  </ContextParameters>
</WebTest>

查看更多

查看更多

提问者
webber
被浏览
73
webber 2019-07-09 22:57

感谢@AdrianHHH。我通过创建requestPlugin并将其设置在数据驱动的请求上来使其工作。

这是我的插件:

[DisplayName("Set Request Params")]
[Description("Fix request urls when run from Azure")]
public class SetRequestParams : WebTestRequestPlugin
{
    public override void PreRequest(object sender, PreRequestEventArgs e)
    {
        e.Request.ReportingName = e.Request.Url;
    }
}

发布
问题

分享
好友

手机
浏览

扫码手机浏览