selenium - 使用 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();
}
解决方案
好的,我想我有一个解决方案供您尝试。
这已合并到 master 并且可以安装:
pip install robotframework-zoomba --upgrade
我有一个使用 microsoft 提供的示例应用程序的演示脚本,位于~/samples/WebView-DesktopTest.robot。该脚本展示了如何打开应用程序、控制 webview 层以及控制应用程序层。
如果这最终对您有用,请在 github 问题上告诉我。