首页 > 解决方案 > 如何在不为 winappdriver 创建新会话的情况下为每个测试用例启动被测应用程序

问题描述

我正在使用 winappdriver 在 Java 中自动化 Windows 应用程序,其中我有三个测试用例,每个测试都需要启动应用程序。我正在使用下面的代码来初始化驱动程序并启动应用程序。

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("app, "appPath");
capabilities.setCapability("platformName", "windows");
capabilities.setCapability("deviceName", "windowsPC");
capabilities.setCapability("appWorkingDir", "XXXXXXXX");
driver = new WindowsDriver(new URL("http://127.0.0.1:4723"), capabilities);

要为每个测试启动应用程序,我需要在每个测试用例之前运行上述代码。这将导致驱动程序初始化 3 次。虽然我的测试通过但在 Eclipse 控制台窗口中得到以下消息。注意:我正在以编程方式启动 winappdriver。只是想知道处理这种情况的最佳方法是什么。

Eclipse 控制台窗口

标签: javaselenium-webdriverappiumwinappdriver

解决方案


如何使用桌面会话并从那里启动您正在测试的应用程序。在此会话中,您可以根据需要多次启动被测应用程序,而无需每次都重新启动 WinAppDriver。

或者您可以在另一个测试中调用您的测试,因此测试完成仅在调用测试完成时发生。

像这样的东西(警告:C# 中的伪代码):

[TestMethod]    
public void MainTest()
{
     TestA();
     TestB();
     TestC();
}

推荐阅读