我需要连接/创建Selenium Webdriver的实例到我的应用程序在Winform中打开的web内容。
我的测试框架使用CodedUI打开Winform应用程序,进一步的测试步骤使Winform应用程序打开另一个嵌入了浏览器的Winform窗口。我需要创建或绑定一个Selenium实例到这个嵌入的浏览器内容。在嵌入区域使用WebViewer/Edge
注意-还没有准备好移动到WinAppDriver,如果有的话。
已解析。我发现web窗格是一个名为WebView2的对象。
内部自动化需要应用程序以一种特殊的方式启动:
Dim AppPath As String = "[full path to your app and its name].exe"
Dim edgeOptions As New EdgeOptions
edgeOptions.UseChromium = True
edgeOptions.UseWebView = True
edgeOptions.DebuggerAddress = "localhost:9222"
Dim AppStartInfo = New ProcessStartInfo(AppPath)
AppStartInfo.UseShellExecute = False
AppStartInfo.EnvironmentVariables("WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS") = "--remote-debugging-port=9222"
Diagnostics.Process.Start(AppStartInfo)
您还需要:
- 项目中安装的Selenium Support和Selenium Webdriver版本4.0.0-rc3
- msedgedriver from here: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
最后在您的自动化代码中,当WebView2的窗口最终出现时,您需要运行以下代码将selenium webdriver绑定到WebView2窗格:
Dim driver As String = "[path to:]msedgedriver.exe"
Dim edgeOptions As New EdgeOptions
edgeOptions.UseChromium = True
edgeOptions.UseWebView = True
edgeOptions.DebuggerAddress = "localhost:9222"
Dim WebDriver = New EdgeDriver(EdgeDriverService.CreateDefaultService(".", driver), edgeOptions)