首页 > 解决方案 > Selenium 如何添加控制在 VSTS 中运行哪些 TestCases 的能力 - 发布定义中的 Visual Test Studio

问题描述

我需要能够从外部控制在 VSTS-azure 中夜间构建的硒 UI 测试中运行哪些测试用例。我希望能够在发布任务中跳过多个 TestFixtures 中的特定测试。

目前,我正在使用管道中 Visual Studio 测试任务中的测试过滤条件选项,我可以在其中传递要执行的单个测试名称,例如“名称 = Test1、Test3、Test8”。我也可以使用类别标签而不是名称。但是方式限制了我的使用

Name = Test1, Test3, Test8 || Category =  Category2 || Priority = P4

我想从包含大约 200 个测试的测试套件中控制要执行哪些以及从我的夜间运行中排除哪些。

这是可能的我们可以添加一些文件,我可以有一个开关来控制运行吗???

谢谢。

标签: seleniumselenium-webdriverazure-devopsazure-pipelinesazure-pipelines-release-pipeline

解决方案


我认为没有一些文件可以配置包含或排除哪些测试。

但是可以通过powershell来实现。你可以试试下面的。

如果您熟悉 powershell 和dotnet vstest命令行。您可以编写 powershell 脚本来运行测试(您可能需要将此脚本文件签入到您的存储库中)。您可以使用不同的测试过滤器定义不同的脚本文件。因此,每次运行管道时,您只需选择相应的脚本文件即可运行。

并且还在管道中添加了一个 powershell 任务来运行测试,而不是 Visual Studio 测试任务。

以下powershell脚本和powershell任务仅供参考:

param(
[string]$source,
[string]$repos = "SelenNunit",
[string]$config
)

$path = $source +"\" +$repos+ "\"+ $repos+ "\"+ "\bin\" +$config

dotnet vstest $path\SelenNunit.exe /TestCaseFilter:"name=test1" /logger:"trx"

在此处输入图像描述


推荐阅读