一旦测试方法运行完毕,VS2013中的编码UI将自动关闭应用程序

时间:2015-07-27 08:34:03

标签: coded-ui-tests

在visual studio 2013中,编码的ui会在所有测试方法完成运行后自动关闭应用程序。

    [TestInitialize]
    public void TestInitialize()
    {
        uiCommonEE = UICommonEE.GetCommonEE();
    }

    [TestCleanup]
    public void TestCleanup()
    {
    }

    [TestMethod]
    public void OpenWorkspaceTest()
    {
        uiCommonEE.SetBaseState();

        uiCommonEE.OpenWorkspace("C:\Path\EE_Multmodule_AllDataTypes.eew");

    }

我正在从TestInitialize()方法启动我的应用程序 一旦testmethod完成运行,应用程序将自动关闭。 在testcleanuup()和classcleanup()方法中,我没有写任何东西。

我希望一旦encodeUI的所有测试方法都运行完毕,应用程序仍然在运行。

提前致谢

2 个答案:

答案 0 :(得分:0)

您可以在 ApplicationUnderTest BrowserWindow 类上使用 CloseOnPlayback ,但这只会在测试运行期间保持应用程序处于打开状态。在测试类中的所有测试方法都已执行的那一刻,回放引擎仍将清除测试期间创建的任何实例。因此,在测试类中的所有测试方法之间,应用程序将保持打开状态,当所有测试完成后,所有测试都将被清除。

答案 1 :(得分:0)

[ClassInitialize][AssemblyInitialize]方法运行应用程序,但不要使用Coded UI的方法来启动它。这是因为Coded UI跟踪已启动的应用程序,因此它可以在测试运行结束时关闭它们。而是使用其他Windows流程启动方法之一,ProcessStartInfoProcess类,请参阅here,这可能是合适的。

问题并未说明如果在应用程序运行时启动测试会发生什么。因此,[ClassInitialize][AssemblyInitialize]方法可能应该在运行之前检查应用程序是否已处于活动状态,或者应用程序应该忽略或拒绝在运行时启动它的尝试。