3

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

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

4

2 回答 2

7

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

[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 尚未运行时才会启动它。

于 2012-06-20T05:00:57.083 回答
0

如果我知道它当前没有运行,则没有内置方法来启动应用程序。

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

于 2012-06-19T16:21:36.157 回答