在 Visual Studio 2010 中使用“编码的 UI 测试”时,是否有一种简单的方法可以仅在 AUT 尚未运行时启动被测应用程序 (AUT) ?
我知道我可以从头开始实现这样一段启动代码,但我想知道 Visual Studio 测试框架是否提供了开箱即用的东西。
在 Visual Studio 2010 中使用“编码的 UI 测试”时,是否有一种简单的方法可以仅在 AUT 尚未运行时启动被测应用程序 (AUT) ?
我知道我可以从头开始实现这样一段启动代码,但我想知道 Visual Studio 测试框架是否提供了开箱即用的东西。
似乎这可以使用以下代码完成:
[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 尚未运行时才会启动它。
如果我知道它当前没有运行,则没有内置方法来启动应用程序。
编写一些自定义的东西来做到这一点是微不足道的,只要确保你能够让你的应用程序进入一个已知状态,这样之前的测试失败就不会导致所有测试在它失败后运行。对于 Web 应用程序来说,回到已知状态可能就像设置 URL 一样简单,但对于复杂的桌面应用程序,返回到已知状态可能会异常复杂。