编码的UI测试:仅在测试尚未运行的情况下启动测试

时间:2012-06-18 17:50:46

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

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

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

2 个答案:

答案 0 :(得分: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尚未运行时才会启动。

答案 1 :(得分:0)

如果当前没有运行我正在运行的应用程序,则没有内置方法来启动应用程序。

写一些自定义来执行此操作是微不足道的,只需确保您能够将测试中的应用程序置于已知状态,以便先前的测试失败不会导致所有测试失败后运行。对于Web应用程序来说,进入已知状态可能就像设置URL一样简单,但对于复杂的桌面应用程序,返回已知状态可能会非常复杂。