我使用watir-webdriver在Chrome上运行ruby单元测试。每当运行测试并启动chromedriver.exe时,都会出现类似以下内容的输出:
Started ChromeDriver
port=9515
version=26.0.1383.0
log=C:\Home\Server\Test\Watir\web\chromedriver.log
[5468:8796:0404/150755:ERROR:accelerated_surface_win.cc(208)] Reseting D3D device
[5468:8996:0404/150758:ERROR:textfield.h(156)] NOT IMPLEMENTED
[WARNING:..\..\..\..\flash\platform\pepper\pep_module.cpp(63)] SANDBOXED所有这些都不会影响测试的正确功能,但正如人们可以想象的那样,“错误”和“警告”的出现可能会让人感到相当困惑,例如,在Jenkins中解析规则以查找失败。当然,我可以在解析规则中使用正则表达式,但在chromedriver.exe中关闭这种冗长和不必要的日志记录将是非常好的。我已经看到很多关于这种寻找答案的提及。目前还没有人提出解决方案。是的,chromedriver可能有一个"--silent“选项,但似乎没有办法将它传递给可执行文件。类似于下面的代码应该可以工作,但据我所见没有任何影响。有什么想法吗?
profile = Selenium::WebDriver::Chrome::Profile.new
profile['--cant-make-any-switches-work-here-how-about-you'] = true
browser = Watir::Browser.new :chrome, :profile => profile, :switches => %w[--ignore-certificate-errors --disable-extensions --disable-popup-blocking --disable-translate--allow-file-access]发布于 2013-04-24 11:37:57
这是对其他搜索的人的帮助
Find ...selenium\webdriver\chrome\service.rb路径开始在您的系统上可能不同
我在传递的参数中添加了"-silent“……但是,这会使除错误/警告消息之外的所有消息都静默。
def initialize(executable_path, port)
@uri = URI.parse "http://#{Platform.localhost}:#{port}"
server_command = [executable_path, " -silent", "--port=#{port}"]
@process = ChildProcess.build(*server_command)
@socket_poller = SocketPoller.new Platform.localhost, port, START_TIMEOUT
@process.io.inherit! if $DEBUG == true
end发布于 2014-04-28 16:20:01
用key --log-level=3设置chromeOptions这应该会关闭它
发布于 2013-06-28 03:29:11
通过使用:service_log_path参数,我能够转移显示在cucumber stdout中的数百条、是的数百条chrome驱动程序日志消息。
@browser = Watir::Browser.new :chrome, :service_log_path => 'chromedriver.out'当我将上面建议的'-silent'、'--silent'、‘-silent'或' --silent'参数添加到...selenium\webdriver\chrome\service.rb中时,这些参数没有执行任何操作。而且不得不调整创业板本身并不是一个特别可行的解决方案。
我找不到一个地方来捕获chromedriver stderr并将其转换为null (更不用说必须在windows和*nix/osx中处理这个问题了)。
驱动程序应该默认使用一些不那么冗长的东西。在这种情况下,信息过于冗长,因为数以百计的日志条目作为信息弹出,其中的90%+是相同的。
至少:service_log_path参数适用于它们中的大多数。
https://stackoverflow.com/questions/15822803
复制相似问题