【问题标题】:How to retrieve a Test Case ID that is currently running through TFS (vNext) build?如何检索当前通过 TFS (vNext) 构建运行的测试用例 ID?
【发布时间】:2019-09-30 16:01:05
【问题描述】:

在 TFS 2013 中,当从 MTM 运行测试时,我们能够通过使用 TestContext Properties 字典获取当前运行的测试用例的 ID,如下所示:

var testCaseID = TestContext.Properties["__Tfs_TestCaseId__"].ToString();

如果测试作为 TFS vNext 构建 (BDT) 的一部分运行,则此语句返回 NULL。

为了更新测试结果中的某些字段,例如注释/注释,我需要知道当前测试运行和测试用例的 ID。我怎样才能返回这些信息?

我在本地使用 TFS 2017。

谢谢!

【问题讨论】:

标签: tfs automation tfs-2015 mtm vnext


【解决方案1】:

在构建期间运行测试(功能测试)时,您无法在测试方法中获取测试用例 ID,因为通过 MTM 运行测试。

解决方法是你可以在runsettings中指定值,在测试时获取值。

更多信息,可以参考Supplying Run Time Parameters to Tests

【讨论】:

  • 感谢您的建议。首先,我之前尝试使用 runsettings 进行编码 UI 测试,但我不断收到 "NullReferenceException" 。我确保选择了设置文件,但仍然出现异常。编码 UI 不支持此功能吗?另外,没有办法将像 Test Run ID 这样的动态值添加为运行设置值吗?
  • @maryama 根据我的测试,编码的 UI 测试无法通过 TestContext 获取运行设置中的值,您可以读取文件以获取测试方法中的值。找不到动态获取测试用例或测试运行 ID 的方法。获取测试用例 id 的目的是什么?
  • 我通过 TFS vNext 构建运行我的编码 UI 测试。我想在运行结束时将一些注释写回每个测试用例结果的“评论”部分。回到通过 MTM 运行我的测试时,我曾经通过返回当前的“测试运行”和“测试用例”ID 并使用 TFS 测试管理 API 将我的笔记写回测试用例结果评论部分来做到这一点。通过 vNext 构建运行测试时有什么方法可以做到这一点?
  • @starianchen-MSFT 是否有我可以通过发布运行时参数传入的参数列表及其字符串文字?
【解决方案2】:

可以在 TestMethod 中运行测试时获取测试用例标识符。 您可以通过使用 TFS API 查询 TFS 来获取它。您可以从 C# 代码中通过查找当前正在运行的测试用例运行的测试结果对象来执行此操作。 您将从 testContext 中获取当前的测试运行 ID。

【讨论】:

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