我知道如何使用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个有序测试。我该如何实现这一目标?
非常感谢提前。
答案 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方法使您的测试彼此独立。
粒度也是调试测试时的关键。