【问题标题】:Coded UI Tests: Start application under test only if it is not already running编码的 UI 测试:只有在测试中的应用程序尚未运行时才启动它
【发布时间】:2012-06-18 17:50:46
【问题描述】:

在 Visual Studio 2010 中使用“编码的 UI 测试”时,是否有一种简单的方法来启动被测应用程序 (AUT)仅当 AUT 尚未运行时

我知道我可以从头开始实现这样一段启动代码,但我想知道 Visual Studio 测试框架是否提供了开箱即用的功能。

【问题讨论】:

    标签: visual-studio-2010 unit-testing automated-tests mstest coded-ui-tests


    【解决方案1】:

    似乎可以使用以下代码完成:

    [TestInitialize]
    public void MyTestInitialize()
    {
        if (_application != null)
        {
            return;
        }
        Process[] processes = Process.GetProcessesByName("ApplicationUnderTest");
        if (processes.Length > 0)
        {
            _application = ApplicationUnderTest.FromProcess(processes[0]);
        }
        else
        {
            _application = ApplicationUnderTest.Launch(@"C:\Path\To\ApplicationUnderTest.exe");
        }
    }
    

    仅当 AUT 尚未运行时才会启动。

    【讨论】:

      【解决方案2】:

      据我所知,如果应用程序当前未运行,则没有内置方法可以启动应用程序。

      编写一些自定义的东西来做到这一点是微不足道的,只要确保你能够让你的被测试应用程序进入一个已知状态,这样之前的测试失败就不会导致它失败后的所有测试运行。对于 Web 应用程序而言,返回已知状态可能就像设置 URL 一样简单,但对于复杂的桌面应用程序,返回已知状态可能会异常复杂。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        • 1970-01-01
        • 2018-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多