【问题标题】:Is it possible to pass parameters between web performance tests in visual studio 2013?是否可以在 Visual Studio 2013 中的 Web 性能测试之间传递参数?
【发布时间】:2015-06-29 15:28:16
【问题描述】:

假设我们有两个 Web 性能测试 a 和 b,如下所述:

  • TestA:登录到 A.com 页面
  • TestB:将调用TestA,并做更多的事情。进一步假设该页面需要针对站点 A.com 和 B.com 进行测试(A.com 和 B.Com 的凭据相同)。

是否可以将 URL 参数(可能是 A.com 或 B.com)从 testB 传递给 testA?以这样的方式,testA 不是加载页面 A.com,而是加载页面 B.com。基本上我想要灵活,并且能够传递 URL 参数。话虽如此,我仍然应该能够独立执行 testA(转到 A.com)。所以基本上A.com应该是默认值,如果需要的话应该可以覆盖。

如果可能,我需要做什么?

谢谢

【问题讨论】:

    标签: c# visual-studio-2013 performance-testing


    【解决方案1】:

    如果一个测试通过 Web 测试编辑器中的“Insert call to web test”命令调用另一个测试,则调用测试的上下文对被调用的测试可用。所以数据可以从调用者传递到被调用者。 (我不确定被调用的测试是否可以通过上下文将值传回给调用者。我将来必须检查并更新这个答案。)


    如果从负载测试中调用 Web 测试,则可以使用另一种方法。 从负载测试调用的 Web 测试的上下文参数之一是负载测试上下文。在 Web 测试中,此上下文参数的值可以转换为 load test context。然后值可以通过一个测试写入上下文并在另一个测试中读出。

    【讨论】:

    • 是的,这是可行的,但如果您有负载测试。但是,如果您没有负载测试来控制 Web 测试怎么办?正如我上面提到的,两个单独的性能测试,一个将在第二个中调用(没有负载测试)。如何将参数传递给被调用的 Web 性能测试?
    • @user2585405 你如何从另一个测试中调用一个测试?
    • Insert Call to Web Test... 性能测试中的选项将为您完成这项工作,或者您也可以修改代码并调用它。但就我而言,我使用了第一个(视觉工作室功能)
    【解决方案2】:

    对于上下文参数: 在调用测试中创建的任何参数在被调用测试中都可用。 反之亦然。 要使用参数,只需按名称引用它 如果参数已在多个测试中创建,则首先运行的参数将覆盖其他参数 例如:

    有 3 个测试,a、b、c。 A 是主要的并调用 B 然后调用 C 上下文参数 x 仅在 A 中创建,因此可在 A 和 B 中使用。 上下文参数 y 在 B 和 C 中创建,并且在 A 中可用(在 B 运行之后)并且 B 值覆盖 C 值。 上下文参数 z 在 A 和 B 和 C 中创建。A 中的值覆盖所有其他值。

    对于提取的上下文参数: 最后提取的将覆盖所有先前的实例。 如果该变量在另一个测试中不可用,则在该测试中创建一个同名的上下文参数,该参数将在执行期间被提取的值覆盖。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 2018-01-16
      • 2015-05-12
      • 2016-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多