Шаг инициации ChromeDriver завершился неудачно с ошибкой «Доступ запрещен» - PullRequest
1 голос
/ 04 ноября 2019

Azure DevOps запускает и запускает тесты на виртуальной машине.

Все мои тесты работают нормально на локальной машине.

На виртуальной машине, при попытке запустить браузер Chrome с использованием ChromeDriver и WebDriverManager,тесты не выполняются в методе LaunchChromeDriver с ошибкой: «Доступ запрещен» на шаге new ChromeDriver (параметры);

Вот как выглядит метод:

public static IWebDriver LaunchChromeDriver()
{    
 try
 {
    new WebDriverManager.DriverManager().SetUpDriver(new ChromeConfig());
    ChromeOptions options = new ChromeOptions();
    driver = new ChromeDriver(options);
    return driver;
 }
 catch(Exception e)
 {
    log.info("Exception is "+e);
    return null;
 }
}

я что-то упустил или мне нужно изменить код? Кто-нибудь испытывал то же самое?

Получение исключения, как показано ниже:

System.ComponentModel.Win32Exception (0x80004005): Доступ запрещен в System.Diagnostics.Process.StartWithCreateProcess (ProcessStartInfo startInfo)) в OpenQA.Selenium.DriverService.Start () в OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute (Command commandToExecute) в OpenQA.Selenium.Remote.RemoteWebDriver.Execute (параметры строки String driverCommandTem.SeteSteteSecСвойство

1 Ответ

0 голосов
/ 05 ноября 2019

Необходимо указать путь к исполняемому файлу chromedriver.exe:

driver = webdriver.Chrome(executable_path=r"C:\Chrome\chromedriver.exe")

Для Windows: разрешить чтение и выполнение разрешений для chromedriver.exe для всех:

  1. Щелкните правой кнопкой мыши chromedriver.exe> ​​Свойства в ChromeDriver
  2. В окне свойств ChromeDriver> вкладка «Безопасность» нажмите «Правка»
  3. В окне «Разрешения для окна ChromeDriver»> вкладка «Безопасность» нажмите кнопку «Добавить»
  4. В окне «Выбор пользователей»,установите имя «Все» и нажмите кнопку «ОК»
  5. В окне «Разрешения для окна ChromeDriver»> вкладка «Безопасность» установите флажок «Чтение и выполнение» и нажмите кнопку «ОК»
  6. В окне свойств ChromeDriver нажмите кнопку «ОК»

enter image description here

Для Linux:

  1. Убедитесь, что установлена ​​последняя версия браузера Chrome-> "chromium-browser-version "
  2. Если нет, установить последнюю версию chrome" sudo apt-get install chromium-browser "
  3. Получить соответствующую версию драйвера chrome из http://chromedriver.storage.googleapis.com/index.html
  4. Разархивируйте chromedriver.zip
  5. Переместите файл в каталог / usr / bin sudo mv chromedriver / usr / bin
  6. Перейдите в каталог / usr / bin, и вам нужно будет выполнить что-то вроде "chmod a + x chromedriver ", чтобы пометить его как исполняемый.
  7. , наконец, вы можете выполнить код.
...