【问题标题】:Changing the log level for a selenium node running in docker更改在 docker 中运行的 selenium 节点的日志级别
【发布时间】:2016-05-20 17:56:36
【问题描述】:

我们的团队正在使用 docker 部署 selenium 网格。默认日志级别似乎设置为 INFO。我想将其设置为更高、严重或完全关闭它们。我已经尝试了 3 次,但到目前为止都没有效果。

方法一:

从 selenium 客户端,我尝试在 DesiredCapabilities 内的 RemoteWebDriver 上设置 LoggingPreferences:

DesiredCapabilities desiredCapabilities = DesiredCapabilities.firefox();
LoggingPreferences logs = new LoggingPreferences();
logs.enable(LogType.BROWSER, Level.SEVERE);
logs.enable(LogType.CLIENT, Level.SEVERE);
ogs.enable(LogType.DRIVER, Level.SEVERE);
logs.enable(LogType.SERVER, Level.SEVERE);
desiredCapabilities.setCapability(CapabilityType.LOGGING_PREFS, logs);
desiredCapabilities.setCapability(FirefoxDriver.PROFILE, profile);
WebDriver driver = new RemoteWebDriver(new URL(host:4444/wd/hub"), 
                                           desiredCapabilities);

方法2:我尝试更改个人资料偏好:

FirefoxProfile profile = new FirefoxProfile();

profile.setPreference("webdriver.log.driver", "OFF");
profile.setPreference("webdriver.log.file","/dev/null");

方法3:我尝试在位于/opt/selenium/config.json的容器中修改config.json:

{
  "capabilities": [
    {
      "browserName": "*firefox",
      "maxInstances": 1,
      "seleniumProtocol": "Selenium"
    },
    {
      "browserName": "firefox",
      "maxInstances": 1,
      "seleniumProtocol": "WebDriver"
    }
  ],
  "configuration": {
      "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
      "maxSession": 1,
      "port": 5555,
      "register": true,
      "registerCycle": 5000,
      "logLevel":FATAL
  }
}

到目前为止,我无法做任何改变日志记录行为的事情。

【问题讨论】:

  • 我确实让它以一种非常直接的方式工作......我将 selenium-node-firefox 作为我的基本映像并修改了启动 selenium 的命令以将标准重新路由到 /dev /空值。宁愿只增加日志级别。

标签: selenium docker


【解决方案1】:

@斯科特

Selenium 代码库使用 Java Utils Logger。因此,也许您可​​以尝试传入一个自定义 logging.properties,其中日志级别会提高,看看是否有帮助。 [请参阅here 了解有关 logging.properties 的更多信息]

LoggingPreferences 类主要用于调整仅针对给定会话检索的日志级别[至少我认为是这样],并且它不会改变节点/网格的 JVM 的日志级别跑下。

在 Selenium 服务器独立的情况下,可以通过 JVM 参数“selenium.LOGGER.level”更改日志级别

【讨论】:

  • 谢谢,虽然我仍然无法让它工作......刚刚完全离开 docker 并尝试这个:java -Djava.util.logging.config.file=./logging. properties -jar selenium-server-standalone.jar -role node 我仍然在 INFO 看到日志。
  • Scott- 我浏览了 selenium 代码库。如果要在 WARNING 级别打开日志,则需要使用 JVM 参数“selenium.LOGGER.level” 例如:java -Dselenium.LOGGER.level=WARNING -jar selenium-server-standalone-2.53.0.jar请使用上述 JVM 参数重试。
  • 感谢 Krishnan,这行得通。下次看看源代码:-)。
猜你喜欢
  • 2017-08-23
  • 1970-01-01
  • 2015-01-17
  • 1970-01-01
  • 1970-01-01
  • 2019-01-11
  • 1970-01-01
  • 2016-09-15
  • 1970-01-01
相关资源
最近更新 更多