Как настроить селен для приложений CEF / windows (exe) - PullRequest
0 голосов
/ 03 апреля 2019

Основной вопрос: Как настроить селен для приложений CEFsharp в C #?

Если у кого-то возникают проблемы с настройкой селена в приложениях CEFsharp, ознакомьтесь с этим сообщением.Мне было тяжело, и я искал Интернет, чтобы это произошло, и я хочу поделиться этой информацией с другими.

Моя среда:

  • VS 2017
  • C #backend / middleware
  • Угловой интерфейс
  • CEF для инкапсуляции приложения
  • Приложение exe

1 Ответ

0 голосов
/ 03 апреля 2019

Вот решение:

Убедитесь, что ваше приложение использует 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:

  1. Selenium.Chrome.WebDriver 2.34.0 (Старый, но золотой)
  2. Selenium.Support & Selenium.WebDriver 3.141.0
  3. NUnit / NUnit3TestAdapter 3.11 / 3.13
  4. DotNetSeleniumExtras.PageObjects 3.11.0

Удачи!

...