Передача параметров в chrome driver selenium
Я пытаюсь отключить вывод на консоль для Chrome. Если я передам параметр --start-maximized, он отлично работает. У меня может быть неправильная команда?
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--silent"));
chrome = new ChromeDriver(_chromeservice,capabilities);
Я тоже пробовал
ChromeOptions options = new ChromeOptions();
options.addArguments("silent");
chrome = new ChromeDriver(options);
выход
запущен порт ChromeDriver=26703 версия=23.0.1240.0 log= / Brett / workspace/TestNG / chromedriver.бревно [1214/161331: ошибка: ipc_sync_channel.cc (378)] отмена отложенных отправлений [1214/161331: ошибка: ipc_sync_channel.cc (378)] отмена отложена послать [1214/161331: ошибка: ipc_sync_channel.cc (378)] отмена отложена sendsBlockquote
4 ответов
намекнул на это билет Chromedriver (о silent
вариант), я посмотрел в источнике ChromeDriverService.java
, и нашел ссылку на "webdriver.chrome.logfile"
.
после добавления -Dwebdriver.chrome.logfile="/dev/null"
мой java
команда, журналы снова стали читаемыми: бесполезные журналы ChromeDriver исчезли, в то время какSystem.out.println
вызовы и исключения по-прежнему отображаются в консоли.
я начинаю java
со следующими параметрами (Linux / Mac):
DIR=path/to/dir/containing/selenium/and/stuff
cd "$DIR" && java -cp "$DIR\
:$DIR/output\
:$DIR/bin/selenium-server-standalone-2.33.0.jar" \
-Dwebdriver.chrome.driver="$DIR/bin/chromedriver" \
-Dwebdriver.chrome.args="--disable-logging" \
-Dwebdriver.chrome.logfile="/dev/null" \
AllTests
если вы находитесь на Windows:
set DIR=path\to\dir\containing\selenium\and\stuff
cd "%DIR%" && java -cp "%DIR%;%DIR%\output;%DIR%\bin\selenium-server-standalone-2.33.0.jar" ^
-Dwebdriver.chrome.driver="%DIR%\bin\chromedriver.exe" ^
-Dwebdriver.chrome.args="--disable-logging" ^
-Dwebdriver.chrome.logfile=NUL ^
AllTests
объяснение состава моего пути к классам (-cp
): мои тесты находятся в каталоге "$DIR / output". Файл Selenium jar помещается в "$DIR/bin / selenium-server-standalone-2.33.0.сосуд." "AllTests" - это имя моего класса, содержащего public static void main(String[] args)
- это запускает свои тесты.
другие параметры самоочевидны, отрегулируйте его к вашим потребностям. Для удобства (используется в shell / batch script), я объявил общий каталог в переменной DIR
.
попробовать "--disable-logging
" вместо этого.
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--disable-logging"));
chrome = new ChromeDriver(_chromeservice,capabilities);
когда я настраивал chrome с
selenium-chrome-driver-2.48.2.jar chromedriver 2.20 selenium-java-2.48.2.jar
ни один из вышеперечисленных ответов работал для меня, Поскольку я вижу, что некоторым ответам несколько лет, я опубликую то, что сработало для меня.
ChromeOptions chromeOptions = setupChromeOptions(); System.setProperty("webdriver.chrome.logfile", "\path\chromedriver.log"); System.setProperty("webdriver.chrome.driver", "\path\chromedriver.exe"); System.setProperty("webdriver.chrome.args", "--disable-logging"); System.setProperty("webdriver.chrome.silentOutput", "true"); driver = new ChromeDriver(chromeOptions);
начиная с Selenium 3, по крайней мере, вы можете использовать ChromeDriverService и его внутренний конструктор классов, чтобы иметь возможность запускать драйвер в автоматическом режиме.
oneliner для этого:
new ChromeDriver(new ChromeDriverService.Builder().withSilent(true).build());
конструктор прямолинейен, вы создаете новый параметр Service builder silent в true (это критическая часть), и Вы, наконец, строите его в ChromeDriverService, который требуется конструктором ChromeDriver.