2017-02-08 2 views
0

Я удаляю System.NotImplementedException при вызове var entries = driver.Manage().Logs.GetLog(LogType.Browser); из моего кода.Исключение при вызове driver.Manage(). Logs.GetLog() во время удаленной сессии

Я настраиваю мой сеанс удаленного драйвера следующим образом:

(...) 
ChromeOptions chromeOptions = new ChromeOptions(); 
chromeOptions.SetLoggingPreference(LogType.Browser, LogLevel.All); 
webDriver = new RemoteWebDriver(new Uri(remoteServerUrl),chromeOptions.ToCapabilities()); 
(...) 

Глядя глубже в проблему я нашел противоречивые сообщения, которые говорят о том, что C# привязки для GetLogs() метод в WebDriver не являются но реализованы - см. here. Который объяснил бы исключение, которое я получаю.

Но есть также сообщения, которые предполагают, что это должно работать на этом сайте и в другом месте. Например, here.

В этом случае это работает, когда работает локально, но не для удаленных сеансов веб-серфинга?

Может ли кто-нибудь подтвердить раз и навсегда текущее состояние этого API на C#, прежде чем я вытащу больше своих волос? :)

Для записи я пробовал как с Webdriver 3.01, так и с 2.53.

ответ

0

У меня была такая же проблема, и кажется, что полный набор журналов реализован только для FirefoxDriver (хотя я не уверен, что это все еще применяется для версии Geckodriver).

Итак, для того, чтобы иметь оболочку, которая может быть использована для всех браузера, я создал следующие методы полезности:

//can also be used in the class constructor 
_logs = driver.Manage().Logs; 

public void PrintLogs(string logType) 
{ 
    try 
    { 
     var browserLogs = _logs.GetLog(logType); 
     if (browserLogs.Count > 0) 
     {       
      foreach (var log in browserLogs) 
      { 
       //log the message in a file 
      } 
     } 
    } 
    catch 
    { 
     //There are no log types present 
    } 
} 

public void PrintAllLogs() 
{ 
    PrintLogs(LogType.Server); 
    PrintLogs(LogType.Browser); 
    PrintLogs(LogType.Client); 
    PrintLogs(LogType.Driver); 
    PrintLogs(LogType.Profiler); 
} 
Смежные вопросы