代码之家  ›  专栏  ›  技术社区  ›  bugmagnet

Selenium C日志首选项未完全实现?

  •  3
  • bugmagnet  · 技术社区  · 6 年前

    我使用Selenium.WebDriver.Chrome 2.40.0

    根据文件,下列内容是允许的

    var co = new ChromeOptions();
    co.SetLoggingPreference(LogType.Browser, LogLevel.All);
    co.SetLoggingPreference(LogType.Client, LogLevel.All);
    co.SetLoggingPreference(LogType.Driver, LogLevel.All);
    co.SetLoggingPreference(LogType.Profiler, LogLevel.All);
    co.SetLoggingPreference(LogType.Server, LogLevel.All);
    

    但是,当我试图访问 Client , Server Profiler 我得到的日志(在stderr上)

    Starting ChromeDriver 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb) on port 56426
    Only local connections are allowed.
    [1529414019.263][WARNING]: Ignoring unrecognized log type: client
    [1529414019.266][WARNING]: Ignoring unrecognized log type: profiler
    [1529414019.266][WARNING]: Ignoring unrecognized log type: server
    

    访问这三个日志对象会有帮助。如果有的话,我该如何访问它们?

    额外细节

    根据有关文件 LogType ,有5个可能值: Browser , 顾客 , Driver , 剖面仪 服务器 . 塔伦·拉瓦尼建议(见评论)还有 Performance 但我看不到任何迹象。

    我不明白为什么文件说有五个,但在操作上只有 浏览器 司机 .

    2 回复  |  直到 6 年前
        1
  •  1
  •   Tarun Lalwani    6 年前

    如果你看ChrimError源代码

    https://chromium.googlesource.com/experimental/chromium/src/+/5c38bafbf04d6196493d4bec1a851b45a1c07d12/chrome/test/chromedriver/logging.cc#124

    }  // namespace
    const char WebDriverLog::kBrowserType[] = "browser";
    const char WebDriverLog::kDriverType[] = "driver";
    const char WebDriverLog::kPerformanceType[] = "performance";
    bool WebDriverLog::NameToLevel(const std::string& name, Log::Level* out_level) {
      for (size_t i = 0; i < arraysize(kNameToLevel); ++i) {
        if (name == kNameToLevel[i].name) {
          *out_level = kNameToLevel[i].level;
          return true;
        }
      }
      return false;
    }
    

    它只支持 browser , driver performance . 对于其他人,你得到一个警告,这是正确的。

        2
  •  0
  •   bugmagnet    6 年前

    所以 canonical answer 是(鼓卷)。

    列出的只是可能的日志类型。例如,服务器 只有在使用实现此功能的服务器时才可用 日志(如Selenium服务器)。您可以看到哪些日志类型是 通过使用getAvailableLogTypes方法从终结点可用