Batch file 使用.bat文件运行编码的UI测试,如何指定要运行的编码UI测试?

Batch file 使用.bat文件运行编码的UI测试,如何指定要运行的编码UI测试?,batch-file,coded-ui-tests,Batch File,Coded Ui Tests,我知道如何使用windows.bat文件运行编码的ui测试。这是相对直接的。您可以下载MS测试代理,只需使用VS 2017或VS 2015的相关链接即可。在编码的ui项目中,选择Build->Batch Build。复制dll并创建一个.bat文件,该文件引用已编码的ui dll 我的.Bat文件如下所示: C: cd codedui set mstestPath="C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\

我知道如何使用windows.bat文件运行编码的ui测试。这是相对直接的。您可以下载MS测试代理,只需使用VS 2017或VS 2015的相关链接即可。在编码的ui项目中,选择Build->Batch Build。复制dll并创建一个.bat文件,该文件引用已编码的ui dll

我的.Bat文件如下所示:

C:

cd codedui

set mstestPath="C:\Program Files (x86)\Microsoft Visual 
Studio\2017\TestAgent\Common7\IDE"

%mstestpath%\mstest /testcontainer:AppUnderTestCodedUITesting.dll
为了便于参考,将更详细地介绍这些步骤

我的问题是:如何使用.bat文件只运行一个测试?问题是,使用所描述的方法,我的所有测试都会运行。当然,我有数百个小测试(每个测试通常点击一个按钮或做一件小事)。我不想运行所有这些小测试,我只想运行一个有序测试。我如何做到这一点


事先非常感谢。

就像通常的情况一样,经过一点挠头,我自己找到了答案。我只需要添加/test选项。所以我的测试线现在是:

%mstestpath%\mstest /testcontainer:SynTQCodedUITesting.dll /test:common_test_A
其中“common_Test_A”是我的测试名称。我仍然不知道如何指定一个有序的测试,但是在我编码的ui项目中稍作修改,我就可以做一个测试,按照我想要的顺序运行我需要的所有测试,这有点像一个有序的测试


如果有人碰巧知道如何指定有序测试而不是测试,那将是令人惊讶的。

我无法验证,但您是否尝试创建一个测试,然后将有序测试文件用作:

测试容器是包含要运行的测试的文件。例如,对于有序测试,测试容器是定义有序测试的.orderedtest文件

如果此方法不起作用,可以通过用逗号分隔测试来声明要运行的测试:

%mstestpath%\mstest /testcontainer:SynTQCodedUITesting.dll /test:common_test_A,comm_test_B
但它们不会被订购。我相信MSTest会根据类和方法的名称来播放它们

我认为您不应该从一个主测试运行所有测试。如果一个测试失败,那么主测试也将失败(无异常管理),并且所有后续测试都将无法进行。您应该使用TestInitialize和TestCleanup方法使测试相互独立

粒度也是调试测试时的关键