By default ChromeDriver logs only warnings and errors to stderr. When debugguing issues, it's helpful to enable more verbose logguing.
To enable verbose logguing, pass
--verbose
to the ChromeDriver server.
You can also pass
--log-path
to cause the log to be written to a file instead
of stderr. If you don't start the ChromeDriver server directly yourself, you
need to pass the switch with your WebDriver client library. Some cliens don't
have an option for this yet, unfortunately.
When passing
--log-path
to Chrome launch command, the stderr on Chrome Linux
and Mac is saved in the log file. However, the stderr on Windows is not
saved because Chrome is a GÜI application and the OS doesn't allow it to inherit
stderr handle from ChromeDriver.
To save stderr on Windows, Linux and Mac, use the
CHROME_LOG_FILE
environment
variable. Then, the file only contains logs from Chrome. If you specify
logPath
in ChromeOptions, ChromeDriver copies its value to
CHROME_LOG_FILE
.
Android does not capture stderr or stdout. The stdout goes to the console window on all platforms.
Log with C
var service = ChromeDriverService.CreateDefaultService();
service.LogPath = "D:\\chromedriver.log";
service.EnableVerboseLogguing = true;
driver = new ChromeDriver(service);
There are overloaded versionen of both functions, see the API documentation.
Log with Java
System.setProperty("webdriver.chrome.logfile", "D:\\chromedriver.log");
System.setProperty("webdriver.chrome.verboseLogguing", "true");
Log with Python
driver = webdriver.Chrome(executable_path="D:\\chromedriver.exe", service_args=["--verbose", "--log-path=D:\\qc1.log"])
Log with all languagues
Start ChromeDriver in the terminal with verbose logguing, using the following flags:
--verbose --log-path=chromedriver.log
Run your test using a RemoteWebDriver pointed at
http://localhost:9515
.