Domyślnie ChromeDriver rejestruje w stderr tylko ostrzeżenia/błędy. Podczas debugowania problemów warto włączyć bardziej szczegółowe logowanie.
Aby włączyć szczegółowe logowanie, po prostu przekaż plik --verbose
do serwera chromedriver.
Możesz też przekazać żądanie --log-path
, aby dziennik został zapisany w pliku zamiast w stderr. Jeśli nie uruchomisz bezpośrednio serwera chromedriver, musisz przekazać przełącznik przez bibliotekę klienta WebDriver. Niektórzy klienci nie mogą jeszcze
tego robić.
Podczas przekazywania polecenia --log-path
do polecenia uruchamiania Chrome plik stderr w Chrome Linux i na Macu zostanie zapisany w pliku dziennika. Plik stderr w systemie Windows nie jest jednak zapisywany, ponieważ Chrome jest aplikacją GUI, a system operacyjny nie zezwala na dziedziczenie uchwytu stderr z ChromeDriver. Aby zapisać plik stderr w systemach Windows, Linux i Mac, możesz użyć zmiennej środowiskowej CHROME_LOG_FILE
. Plik będzie zawierać tylko dzienniki Chrome. Jeśli podasz logPath w ChromeOptions, ChromeDriver skopiuje jego wartość do CHROME_LOG_FILE
.
Android nie rejestruje ani stderr, ani stdout. Trafia on do okna konsoli na wszystkich platformach.
C#
var service = ChromeDriverService.CreateDefaultService();
service.LogPath = "D:\\chromedriver.log";
service.EnableVerboseLogging = true;
driver = new ChromeDriver(service);
Obie funkcje są przeciążone. Więcej informacji znajdziesz w dokumentacji interfejsu API.
Java
System.setProperty("webdriver.chrome.logfile", "D:\\chromedriver.log");
System.setProperty("webdriver.chrome.verboseLogging", "true");
Python
driver = webdriver.Chrome(executable_path="D:\\chromedriver.exe", service_args=["--verbose", "--log-path=D:\\qc1.log"])
Wszystkie języki
Uruchom chromedriver w wierszu poleceń lub w terminalu ze szczegółowym logowaniem, korzystając z flag:
--verbose --log-path=chromedriver.log
Uruchom test, używając obiektu RemoteWebDriver o adresie http://localhost:9515.