使用.bat文件运行编码的UI测试,如何指定运行哪个编码的ui测试?

时间:2017-11-01 13:32:12

标签: batch-file coded-ui-tests

我知道如何使用windows .bat文件运行编码的ui测试。它比较直接。您下载MS Test Agent here并使用VS 2017或VS 2015的相关链接。在您的编码ui项目中,选择Build - >批量生成。复制dll并制作一个引用您的编码ui dll的.bat文件。

我的.Bat文件如下所示:

C:

cd codedui

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

%mstestpath%\mstest /testcontainer:AppUnderTestCodedUITesting.dll

供参考,更详细地介绍了这些步骤here

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

非常感谢提前。

2 个答案:

答案 0 :(得分:0)

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

%mstestpath%\mstest /testcontainer:SynTQCodedUITesting.dll /test:common_test_A

where" common_Test_A"是我的测试的名称。我仍然不知道如何指定一个有序的测试但是我的编码ui项目有一些变化,我可以按照我想要的顺序进行测试,运行我需要的所有测试,这有点像有序测试。

如果有人碰巧知道如何指定有序测试而不是测试,那就太棒了。

答案 1 :(得分:0)

我无法验证,但您是否尝试创建ordered test,然后将订购的测试文件用作testcontainer

  

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

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

%mstestpath%\mstest /testcontainer:SynTQCodedUITesting.dll /test:common_test_A,comm_test_B

但他们不会被命令。我相信MSTest将根据课程和方法的名称来演奏它们。

我认为你不应该从一个主要测试中运行所有测试。如果一个测试失败,那么主测试也将失败(没有异常管理)并且所有进一步的测试都不会被播放。您应该使用TestInitialize和TestCleanup方法使您的测试彼此独立。

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