Вот решение:
Убедитесь, что ваше приложение использует 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 обязательно включите (в разделе clienthellwinforms):
#if DEBUG
_webView.Load("http://localhost:portForAngular");
#endif
Для подключения к приложению по селену используйте:
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);
}
Тогда вы сможете проехать по селену.
Что следует учесть:
Пока в приложении включена удаленная отладка, его можно открыть, а затем запустить функции селена.
Используйте chrome: // inspect (вместо порта отладчика), чтобы в полной мере воспользоваться инструментами разработки.
Nuget:
- Selenium.Chrome.WebDriver 2.34.0 (Старый, но золотой)
- Selenium.Support & Selenium.WebDriver 3.141.0
- NUnit / NUnit3TestAdapter 3.11 / 3.13
- DotNetSeleniumExtras.PageObjects 3.11.0
Удачи!