如何为 CEF/Winforms 应用程序配置 selenium (exe)
How to configure selenium for CEF/Winforms applications (exe)
主要问题:如何在 C# 中为 CEFsharp 应用程序配置 selenium?
如果有人在为 CEFsharp 应用程序配置 selenium 时遇到问题,请查看此 post。我度过了一段艰难的时光,并在互联网上搜索以实现这一目标,我想与其他人分享这些信息。
我的环境:
- 对比 2017
- C#backend/middleware
- Angular 前端
- CEF封装应用程序
- 应用程序是 exe
解决方法如下:
确保您的应用程序使用 RemoteDebugging(在主程序文件中):
static void Main()
{
var cefSettings = new CefSettings
{
WindowlessRenderingEnabled = true,
MultiThreadedMessageLoop = true,
BrowserSubprocessPath = @"CefSharp.BrowserSubprocess.exe",
LogSeverity = LogSeverity.Error,
};
cefSettings.CefCommandLineArgs.Add("--disable-pinch", "1");
#if DEBUG
**cefSettings.RemoteDebuggingPort = port#;**
#endif
Cef.Initialize(cefSettings);
如果使用 angular 确保包括(在 clientshellwinforms 部分):
#if DEBUG
_webView.Load("http://localhost:portForAngular");
#endif
要连接到 selenium 使用的应用程序:
public void Main()
{
var chromeDriverService = ChromeDriverService.CreateDefaultService();
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("remote-debugging-port=port#");
chromeOptions.DebuggerAddress = "localhost:port#";
driver = new ChromeDriver(chromeDriverService, chromeOptions);
}
那么你应该可以使用 selenium 驱动。
需要考虑的事项:
只要应用程序启用了远程调试,您就可以打开它,然后 运行 selenium 函数。
使用 chrome://inspect(而不是调试器端口)以充分利用开发工具。
努格特:
- Selenium.Chrome.WebDriver 2.34.0(旧,但金)
- Selenium.Support & Selenium.WebDriver 3.141.0
- NUnit/NUnit3TestAdapter 3.11/3.13
- DotNetSeleniumExtras.PageObjects 3.11.0
祝你好运!
主要问题:如何在 C# 中为 CEFsharp 应用程序配置 selenium?
如果有人在为 CEFsharp 应用程序配置 selenium 时遇到问题,请查看此 post。我度过了一段艰难的时光,并在互联网上搜索以实现这一目标,我想与其他人分享这些信息。
我的环境:
- 对比 2017
- C#backend/middleware
- Angular 前端
- CEF封装应用程序
- 应用程序是 exe
解决方法如下:
确保您的应用程序使用 RemoteDebugging(在主程序文件中):
static void Main()
{
var cefSettings = new CefSettings
{
WindowlessRenderingEnabled = true,
MultiThreadedMessageLoop = true,
BrowserSubprocessPath = @"CefSharp.BrowserSubprocess.exe",
LogSeverity = LogSeverity.Error,
};
cefSettings.CefCommandLineArgs.Add("--disable-pinch", "1");
#if DEBUG
**cefSettings.RemoteDebuggingPort = port#;**
#endif
Cef.Initialize(cefSettings);
如果使用 angular 确保包括(在 clientshellwinforms 部分):
#if DEBUG
_webView.Load("http://localhost:portForAngular");
#endif
要连接到 selenium 使用的应用程序:
public void Main()
{
var chromeDriverService = ChromeDriverService.CreateDefaultService();
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("remote-debugging-port=port#");
chromeOptions.DebuggerAddress = "localhost:port#";
driver = new ChromeDriver(chromeDriverService, chromeOptions);
}
那么你应该可以使用 selenium 驱动。
需要考虑的事项:
只要应用程序启用了远程调试,您就可以打开它,然后 运行 selenium 函数。
使用 chrome://inspect(而不是调试器端口)以充分利用开发工具。
努格特:
- Selenium.Chrome.WebDriver 2.34.0(旧,但金)
- Selenium.Support & Selenium.WebDriver 3.141.0
- NUnit/NUnit3TestAdapter 3.11/3.13
- DotNetSeleniumExtras.PageObjects 3.11.0
祝你好运!