在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的所有测试方法都运行完毕,应用程序仍然在运行。
提前致谢
答案 0 :(得分:0)
您可以在 ApplicationUnderTest 或 BrowserWindow 类上使用 CloseOnPlayback ,但这只会在测试运行期间保持应用程序处于打开状态。在测试类中的所有测试方法都已执行的那一刻,回放引擎仍将清除测试期间创建的任何实例。因此,在测试类中的所有测试方法之间,应用程序将保持打开状态,当所有测试完成后,所有测试都将被清除。
答案 1 :(得分:0)
从[ClassInitialize]
或[AssemblyInitialize]
方法运行应用程序,但不要使用Coded UI的方法来启动它。这是因为Coded UI跟踪已启动的应用程序,因此它可以在测试运行结束时关闭它们。而是使用其他Windows流程启动方法之一,ProcessStartInfo
和Process
类,请参阅here,这可能是合适的。
问题并未说明如果在应用程序运行时启动测试会发生什么。因此,[ClassInitialize]
或[AssemblyInitialize]
方法可能应该在运行之前检查应用程序是否已处于活动状态,或者应用程序应该忽略或拒绝在运行时启动它的尝试。