#selenium #jenkins #selenium-webdriver
Вопрос:
Я создал сценарий, используя аннотацию TestNG и maven. Он работает ожидаемо в Eclipse, я также пытался запустить testng.xml файл, который выглядит хорошо. а потом я настроил Дженкинса, но теперь он не работает. Дженкинс выдает ошибку, как показано ниже : (К вашему сведению : я успешно встроил Дженкинса ранее , как это могло сломаться за один день ???)
Запуск ChromeDriver 72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38) на порту 48847 разрешены только локальные подключения. Пожалуйста, защитите порты, используемые ChromeDriver, и связанные с ними тестовые платформы, чтобы предотвратить доступ вредоносного кода. Запуск тестов: 7, Сбои: 1, Ошибки: 0, Пропущено: 6, Время прошло: 4,774 сек <<< СБОЙ! — в TestSuite LaunchBrowser(com.страницы.VisibilityAnnotationDemo) Прошло время: 4,208 сек <<< СБОЙ! org.openqa.selenium.Исключение WebDriverException: неизвестная ошибка: Chrome не удалось запустить: сбой (неизвестная ошибка: файл DevToolsActivePort не существует) (Процесс запущен из расположения chrome C:Program Файлы (x86)GoogleChromeApplicationchrome.exe больше не работает, поэтому ChromeDriver предполагает, что Chrome разбился.) (Информация о драйвере: chromedriver=72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38),платформа=Windows NT 10.0.19042 x86_64) (ПРЕДУПРЕЖДЕНИЕ: сервер не предоставил никакой информации о трассировке стека) Длительность команды или время ожидания: 872 миллисекунды
Я добавил ниже корневой файл конфигурации Дженкинса POM = C:Users….workspaceVRsessionspom.xml Цели и опции = чистая установка
Код , который я пытаюсь запустить, его скрипт для проверки пользовательского интерфейса.
**public String baseUrl = " URL OF PAGE";
String driverPath = "C:\Selenium\chromedriver_win32\chromedriver.exe";
public WebDriver driver;
JavascriptExecutor js = (JavascriptExecutor) driver;
@BeforeTest
public void launchBrowser() throws InterruptedException {
System.setProperty("webdriver.chrome.driver", driverPath);
driver = new ChromeDriver();
driver.get(baseUrl);
}**
Комментарии:
1. Вы работаете в
headless
режиме? Не могли бы вы поделиться кодом, который вы запускаете, чтобы увидеть эту ошибку?2. добавлено в описание. спасибо, что заглянули в
Ответ №1:
Тесты на chrome, насколько я знаю, должны быть в headless
режиме для запуска на Дженкинсе. Вам нужно будет настроить параметры chrome следующим образом:
import org.openqa.selenium.chrome.ChromeDriver;
...
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--headless");
driver = new ChromeDriver(chromeOptions);
Комментарии:
1. к сожалению, с этим не повезло. Я также пытался использовать последнюю версию chrome, но все еще не работал.
2. Сейчас этот вопрос решен. Это была проблема с драйвером chrome, поэтому я установил последнюю версию chrome и драйвер chrome и скопировал его в место, указанное в журнале. Я повторно запустил сборку, и она сработала.
Ответ №2:
Чтобы исправить это: Добавьте опцию --disable-dev-shm-usage, --headless, --no-sandbox
командной строки в Chrome. И вам также нужно передать ChromeOptions
объект в new ChromeDriver(options);
Код:
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--no-sandbox");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("disable-infobars");
System.setProperty("webdriver.chrome.driver", driverPath);
driver = new ChromeDriver(options);
driver.get(baseUrl);