从VSTS测试中心运行按需自动测试时,请使用测试配置



我的组织已从MTM中的执行自动测试转移到通过释放定义在VSTS测试中心内执行自动测试。我们正在使用MSTest使用Selenium/C#运行测试。

这是我们能够在按需,构建后进行任何单独测试并使用测试配置来控制浏览器的要求。通过MTM测试运行时,这无问题。

以前,通过MTM运行测试时,我的MSTest TestContext的"属性"填充了运行时参数,例如测试配置,例如TestContext.Properties["__Tfs_TestConfigurationName__"]。运行时属性也可以在结果的.trx文件中看到。

现在,当通过VSTS测试中心运行测试时,这些值不再自动设置在TestContext中,我也不会在.trx文件或我的版本部署日志中看到它们。

是否有关于如何将每个测试的测试配置值传播到testContext中(或通过代码否则)能够在测试运行时控制浏览器?

是否有任何建议?
  • 我考虑过创建一个.runSettings文件,但是对如何将测试配置变量动态填充到该文件中。
  • 我已经考虑尝试查询我的硒代码中的测试运行/测试结果以确定测试点/配置,但是我不知道如何确定测试运行ID(我在发行日志中看到测试运行ID,但不知道如何编程访问它)
  • 我已经看到了一个称为" VSTS测试扩展"的VST扩展名,该扩展名称将VSTS变量注入.runSettings文件,但是没有关于如何配置.runSettings文件以完成此操作的详细信息旧的MTM式参数名称似乎不起作用。
  • 测试配置变量是否可以在VST中全球访问?IE。我可以以某种方式创建PowerShell发布任务来运行/测试点数据吗?Microsoft没有提供有关如何使用测试配置除了将其用于手动测试外的任何迹象。

任何帮助都非常感谢。

在进行更多评论之后,我唯一的选择是巨大的hack:

我注意到在发行日志中,[test_runid]输出,这将我指向$(test.runid)变量,我不知道存在。

我可以通过PowerShell发布任务将运行ID输出到外部文件。

我可以将我的测试代码读取该文件,对VST进行API调用,以查询该运行ID的测试结果,然后使用该响应来输出每个测试用例ID的测试配置名称。

我可以在每个测试方法中的测试用例ID与服务呼叫响应中的测试用例ID匹配,并根据测试配置名称设置浏览器。

唯一的问题是,如果相同的测试在同一运行中多次存在,则可以通过不同的配置来搜索测试运行,每次测试开始并检查已经根据状态运行了哪些配置("待处理"等)或通过某些其他方式我还没有想到。

最新更新