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



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

我。蝙蝠文件如下所示:

C:
cd codedui
set mstestPath="C:Program Files (x86)Microsoft Visual 
Studio2017TestAgentCommon7IDE"
%mstestpath%mstest /testcontainer:AppUnderTestCodedUITesting.dll

作为参考,此处更详细地介绍了这些步骤。

我的

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

提前非常感谢。

通常情况下,经过一番挠头,我自己找到了答案。我只需要添加/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 方法来使测试彼此独立。

调试

测试时,粒度也是关键。

最新更新