【发布时间】:2017-09-01 17:53:54
【问题描述】:
我的组织已经从在 MTM 中执行自动化测试转变为在 VSTS 测试中心通过发布定义执行自动化测试。我们正在使用 MSTest 使用 Selenium / C# 运行测试。
要求我们能够按需运行任何单独的测试、构建后,并使用测试配置来控制浏览器。通过 MTM 运行测试时,这可以正常工作。
以前,当通过 MTM 运行测试时,我的 MSTest TestContext 的“属性”填充了运行时参数,例如测试配置,例如 TestContext.Properties["__Tfs_TestConfigurationName__"]。运行时属性也可以在生成的 .trx 文件中看到。
现在,当通过 VSTS 测试中心运行测试时,这些值不再自动在 TestContext 中设置,我在 .trx 文件或我的发布部署日志中也看不到它们。
对于如何将每个测试的测试配置值传播到 TestContext(或通过其他代码访问)以便能够在测试运行时控制浏览器,是否有任何建议?
- 我考虑过创建一个 .runsettings 文件,但不知道如何将测试配置变量动态填充到该文件中。
- 我曾考虑尝试在我的 Selenium 代码中查询测试运行/测试结果以确定测试点/配置,但我不知道如何确定测试运行 ID(我在发布日志中看到了测试运行 ID,但不知道如何以编程方式访问它)
- 我看到了一个名为“VSTS 测试扩展”的 VSTS 扩展,据称它可以将 VSTS 变量注入到 .runsettings 文件中,但没有关于如何配置 .runsettings 文件以实现此目的的详细信息,并且旧的 MTM 样式参数名称似乎不起作用。
- 测试配置变量是否可以在 VSTS 中以某种方式全局访问? IE。我可以创建一个 PowerShell 发布任务以某种方式访问测试运行/测试点数据吗?除了将它们用于手动测试之外,Microsoft 没有提供有关如何使用测试配置的任何指示。
非常感谢任何帮助。
【问题讨论】:
-
测试期间无法从TestContext中获取,runsettings文件也无法动态设置变量。
标签: automated-tests azure-devops