java - 如何在不为 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。只是想知道处理这种情况的最佳方法是什么。
解决方案
如何使用桌面会话并从那里启动您正在测试的应用程序。在此会话中,您可以根据需要多次启动被测应用程序,而无需每次都重新启动 WinAppDriver。
或者您可以在另一个测试中调用您的测试,因此测试完成仅在调用测试完成时发生。
像这样的东西(警告:C# 中的伪代码):
[TestMethod]
public void MainTest()
{
TestA();
TestB();
TestC();
}
推荐阅读
- laravel - 无法为序列化准备路由 [api/user]。使用闭包 - Laravel
- typescript - 打印原点 Typescript 函数定义
- python - python,使用逻辑回归来查看哪个变量对正预测增加了更多权重
- php - 未使用 php ajax 在引导表上加载数据
- javascript - JS中如何实时发送api请求?
- python - 来自拆分 str 的字典理解
- laravel - 如何启动并运行 azure ad auth?
- common-lisp - 使用带有 parenscript 和 sigil 的 quicklisp
- xamarin.forms - bindableProperty 无法获取值?
- c++ - 1-10的中序二叉搜索树遍历