如何在Azure管道运行期间检索VsTest测试计划测试用例id,并在自动化代码中使用该id

如何在Azure管道运行期间检索VsTest测试计划测试用例id,并在自动化代码中使用该id,azure,azure-devops,vstest,Azure,Azure Devops,Vstest,用例: 在ADO上定义测试计划、测试套件并向其添加测试用例 将测试计划中的多个(所有)测试链接到单个MsTest方法 Azure管道设置为使用“Visual Studio测试”任务运行自动化套件,“使用选择测试”选项设置为“测试计划” 我正在搜索一个解决方案,当Azure管道启动并且VsTest任务正在运行时,我们是否可以获取当前正在处理以运行的测试用例ID/名称(来自ADO测试计划),并将该ID/名称提供给自动化测试方法(作为MsTest的参数选项)。使用该测试用例ID,我将在代码中运行几

用例:

  • 在ADO上定义测试计划、测试套件并向其添加测试用例
  • 将测试计划中的多个(所有)测试链接到单个MsTest方法
  • Azure管道设置为使用“Visual Studio测试”任务运行自动化套件,“使用选择测试”选项设置为“测试计划”
我正在搜索一个解决方案,当Azure管道启动并且VsTest任务正在运行时,我们是否可以获取当前正在处理以运行的测试用例ID/名称(来自ADO测试计划),并将该ID/名称提供给自动化测试方法(作为MsTest的参数选项)。使用该测试用例ID,我将在代码中运行几个控制语句来执行所需的任务

但是,一切都应该在运行时发生,并且方法应该是动态的。此外,它还应该支持并行测试执行

你能分享一下你的想法吗

TIA.
阿克谢J

Azure管道设置为使用“Visual Studio测试”任务运行自动化套件,“使用选择测试”选项设置为“测试计划”

根据您的描述,so的配置如下所示。

在这种情况下,您将知道测试计划的id和测试套件的id,因此您可以使用RESTAPI:获取套件中的所有测试用例,包括
id
url
,然后请求此
url
将获得
字段.System.Title
,即测试用例的名称

顺便说一句,您可以使用API:来获取此版本定义,在响应中您将找到以下VsTest任务及其设置,包括测试计划id和测试套件id。

谢谢@Edward,我尝试了这个选项,并且能够获得测试计划、套件和案例的详细信息。但是,有没有一种方法可以通过使用任何日志或其他脚本获得Azure管道在给定时间点运行的确切测试用例ID。我编写了一个自动化脚本MsTest,它根据这个TC ID读取YAML文件并执行必要的断言。我希望在Azure pipeline上选择测试计划选项时,所有下划线测试的自动化代码都能以受控的方式运行。感谢您的回复,我很高兴我的答案适合您。您可以,它可以帮助其他遇到相同问题的社区成员,谢谢。对于您进一步的问题,当前Azure管道将在该任务完成时输出任务日志,因此我们无法获取Azure管道在给定时间点运行的日志。你可以在这里提出这个建议:产品组会定期检查这些票,并考虑把它作为路线图。嗨,Akshay J,我很高兴我的答案对你有用。你可以接受它作为一个答案,它可以帮助其他社区成员谁得到同样的问题,我们可以存档这个案件,非常感谢!