首页 > 解决方案 > 使用 RobotFramework 自动化测试 Webview2 应用程序

问题描述

我有一个使用 webview2 开发的应用程序。这是一个由 Microsoft Edge(Chromium)驱动的 Web 应用程序。它会给最终用户一种原生/桌面应用程序而不是 Web 应用程序的感觉。

我想使用机器人框架自动测试这个应用程序。我已经尝试过桌面库来编写测试用例的脚本,但是在屏幕上定位元素时遇到了问题。

我尝试过 Zoomba、Sikuli、Flaui、White,但每个都失败了,但是当我在这个组件中进行更多研究时,我发现了一个使用 Dotnet、Selenium 和 Edge 驱动程序进行测试的文档。

有人可以帮助我们如何在 Robot 中编写以下代码以使用 Selenium 库进行测试:

静态无效主要(字符串[] args){

EdgeOptions edgeOptions = new EdgeOptions(false, "webview2");
edgeOptions.BinaryLocation = @"C:\path\to\your\webview2\project.exe";
string msedgedriverDir = @"C:\path\to\your\msededriver.exe's\directory";
string msedgedriverExe = @"msedgedriver.exe";
EdgeDriverService service = EdgeDriverService.CreateDefaultService(msedgedriverDir, msedgedriverExe, false);

EdgeDriver e = new EdgeDriver(service, edgeOptions);
e.Url = @"https://www.microsoft.com";
e.Quit();

}

标签: seleniumtestingrobotframeworkwebview2

解决方案


好的,我想我有一个解决方案供您尝试。

这已合并到 master 并且可以安装:

pip install robotframework-zoomba --upgrade

我有一个使用 microsoft 提供的示例应用程序的演示脚本,位于~/samples/WebView-DesktopTest.robot。该脚本展示了如何打开应用程序、控制 webview 层以及控制应用程序层。

实例

如果这最终对您有用,请在 github 问题上告诉我。


推荐阅读