По умолчанию ChromeDriver регистрирует в stderr только предупреждения/ошибки. При отладке проблем полезно включить более подробное ведение журнала.
Чтобы включить подробное ведение журнала, просто передайте --verbose
на сервер chromedriver. Вы также можете передать --log-path
, чтобы журнал записывался в файл вместо stderr. Если вы не запускаете сервер chromedriver самостоятельно, вам необходимо передать переключатель через клиентскую библиотеку WebDriver. К сожалению, у некоторых клиентов пока нет такой возможности.
При передаче --log-path
в команду запуска Chrome stderr в Chrome Linux и Mac будет сохранен в файле журнала. Однако stderr в Windows не сохраняется, поскольку Chrome — это приложение с графическим интерфейсом, и операционная система не позволяет ему наследовать дескриптор stderr от ChromeDriver. Чтобы сохранить stderr в Windows, Linux и Mac, вы можете использовать переменную среды CHROME_LOG_FILE
, и файл будет содержать только журналы Chrome. Если вы укажете logPath в ChromeOptions, ChromeDriver скопирует его значение в CHROME_LOG_FILE
.
Ни stderr, ни stdout не фиксируются на Android. Стандартный вывод переходит в окно консоли на всех платформах.
С#
var service = ChromeDriverService.CreateDefaultService();
service.LogPath = "D:\\chromedriver.log";
service.EnableVerboseLogging = true;
driver = new ChromeDriver(service);
Существуют перегруженные версии обеих функций, см. документацию по API.
Ява
System.setProperty("webdriver.chrome.logfile", "D:\\chromedriver.log");
System.setProperty("webdriver.chrome.verboseLogging", "true");
Питон
driver = webdriver.Chrome(executable_path="D:\\chromedriver.exe", service_args=["--verbose", "--log-path=D:\\qc1.log"])
Все языки
Запустите chromedriver в командной строке/терминале с подробным журналированием, используя флаги:
--verbose --log-path=chromedriver.log
Запустите тест, используя RemoteWebDriver, указанный по адресу http://localhost:9515.