【问题标题】:Using .bat file to run coded UI tests, how do I specify which coded ui test to run?使用 .bat 文件运行编码的 UI 测试,如何指定要运行的编码的 ui 测试?
【发布时间】:2017-11-01 13:32:12
【问题描述】:

我确实知道如何使用 windows .bat 文件运行编码的 ui 测试。这是相对简单的。您下载 MS Test Agent here 并使用 VS 2017 或 VS 2015 的相关链接。在您编码的 ui 项目中,选择 Build -> Batch 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 并且只有 1 有序测试。我如何实现这一目标?

非常感谢。

【问题讨论】:

    标签: batch-file coded-ui-tests


    【解决方案1】:

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

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

    其中“common_Test_A”是我的测试名称。我仍然不知道如何指定有序测试,但是在我的编码 ui 项目中进行了一些更改,我可以制作一个测试,按照我想要的顺序运行我需要的所有测试,这有点像有序测试.

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      但他们不会被订购。我相信 MSTest 会根据类和方法的名称播放它们。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-21
        • 1970-01-01
        • 1970-01-01
        • 2015-07-08
        • 1970-01-01
        • 1970-01-01
        • 2018-08-02
        • 1970-01-01
        相关资源
        最近更新 更多