docker: c # как запустить селен через webapi - PullRequest
0 голосов
/ 26 февраля 2019

Я использую тестовый веб-интерфейс PoC.Я запускаю тест Selenium внутри конечной точки веб-API.Все отлично работает локально, но когда я запускаю его на Docker Image.Я получаю сообщение об ошибке:

System.Exception:    at Interop.Sys.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setUser, UInt32 userId, UInt32 groupId, Int32& lpChildPid, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean shouldThrow)
   at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at OpenQA.Selenium.DriverService.Start()
   at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)
   at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)

Я использую простой хром-драйвер для локального запуска, но я не уверен в разнице моего локального кода по сравнению с тем, когда я создаю изображение в Docker.Спасибо за любую помощь.Я много читал и о докере, и о селине, но пока ничего не нашел.

Код, который не работает:

  ChromeOptions options = new ChromeOptions();
  options.AddArgument("headless");
  options.AddArguments("no-sandbox");
  ChromeDriverService service = ChromeDriverService.CreateDefaultService(System.AppContext.BaseDirectory, "chromedriver");
  _driver = new ChromeDriver(service, options, TimeSpan.FromSeconds(30));

Ссылки, которыми я пользуюсь:

1 Ответ

0 голосов
/ 03 марта 2019

Мне удалось найти ответ.В итоге я использовал RemoteWebDriver из образа докера ЗДЕСЬ .Теперь все работает нормально, следуя инструкциям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...