問題描述
我正在嘗試禁用 Chrome 控制臺的輸出.如果我通過 --start-maximized 選項它工作正常.我可能有錯誤的命令?
I am trying to disable the output to the console for chrome. If I pass the --start-maximized option it works fine. I may have the wrong command?
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日志=/Brett/workspace/TestNG/chromedriver.log[1214/161331:ERROR:ipc_sync_channel.cc(378)] 取消掛起的發送[1214/161331:ERROR:ipc_sync_channel.cc(378)] 取消掛起的發送[1214/161331:ERROR:ipc_sync_channel.cc(378)] 取消掛起發送塊引用
Started ChromeDriver port=26703 version=23.0.1240.0 log=/Brett/workspace/TestNG/chromedriver.log [1214/161331:ERROR:ipc_sync_channel.cc(378)] Canceling pending sends [1214/161331:ERROR:ipc_sync_channel.cc(378)] Canceling pending sends [1214/161331:ERROR:ipc_sync_channel.cc(378)] Canceling pending sendsBlockquote
推薦答案
提示 Chromedriver ticket(關于 silent
選項),我查看了 ChromeDriverService.java
,找到了的引用"webdriver.chrome.logfile"
.
Hinted by this Chromedriver ticket (about the silent
option), I looked in the source of ChromeDriverService.java
, and found a reference to "webdriver.chrome.logfile"
.
將 -Dwebdriver.chrome.logfile="/dev/null"
添加到我的 java
命令后,日志再次變得可讀:無用的 ChromeDriver 日志不見了,而 System.out.println
調用和異常仍然顯示在控制臺中.
After adding -Dwebdriver.chrome.logfile="/dev/null"
to my java
command, the logs became readable again: The usless ChromeDriver logs were gone, while theSystem.out.println
calls and exceptions are still shown in the console.
我用以下參數啟動java
(Linux/Mac):
I start java
with the following parameters (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:
If you're on Windows:
set DIR=path odircontainingseleniumandstuff
cd "%DIR%" && java -cp "%DIR%;%DIR%output;%DIR%inselenium-server-standalone-2.33.0.jar" ^
-Dwebdriver.chrome.driver="%DIR%inchromedriver.exe" ^
-Dwebdriver.chrome.args="--disable-logging" ^
-Dwebdriver.chrome.logfile=NUL ^
AllTests
<小時>
我的類路徑(-cp
)的組成說明:我的測試位于$DIR/output"的目錄中.Selenium jar 文件放在$DIR/bin/selenium-server-standalone-2.33.0.jar"中.AllTests"是包含 public static void main(String[] args)
的類的名稱 - 這會啟動我的測試.
Explanation for the composition of my classpath (-cp
): My tests are located in a directory at "$DIR/output". The Selenium jar file is placed in "$DIR/bin/selenium-server-standalone-2.33.0.jar". "AllTests" is the name of my class containing public static void main(String[] args)
- this launches my tests.
其他參數不言自明,請根據需要進行調整.為方便起見(在 shell/批處理腳本中使用),我在變量 DIR
中聲明了公共目錄.
The other parameters are self-explanatory, adjust it to your needs. For convenience (used in a shell/batch script), I've declared the common directory in a variable DIR
.
這篇關于將選項傳遞給 chrome 驅動程序 selenium的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!