2016-05-04 3 views
4

I Mikro-Test hat folgende bekommen (es ist nutzlos, aber es ist hier nicht der Fall) in Selenium WebDriver, C#, für Chrome-Browser:nicht korrekte Konsolenprotokolle von WebDriver (Chrome, C#)

[Test] 
    public void T2_API_001_PrintingAlerts() 
    { 
     pgactions.OpenDataset(driver, settings.dataset); // opening page 

     for (int i = 0; i < 10; i++) 
     { 
      ((IJavaScriptExecutor)driver).ExecuteScript("TsTable.Admin.log('this is error message', true);"); 
     } 

     var logs = driver.Manage().Logs.GetLog(LogType.Browser); 

     foreach (var log in logs) 
     { 
      Console.WriteLine(log.ToString()); 
     } 

     Thread.Sleep(100000); 
    } 

in Debug-Konsole in VS erwarte ich, um zu sehen (wie ich in Chrome-Browser-Instanz gestartet von WebDriver sehen):

[14:02:22.816] Settings valid! 
randomTable.js:6711 [14:02:22.976] Constructing table... 
randomTable.js:6711 [14:02:22.976] Validating 32 rows data set... 
(some more irrelevant rows) 
randomTable.js:6711 [14:02:23.375] ...DONE (0.399 sec) 
randomTable.js:6711 [14:02:24.949] this is error message 
randomTable.js:6711 [14:02:25.060] this is error message 
randomTable.js:6711 [14:02:25.174] this is error message 
randomTable.js:6711 [14:02:25.344] this is error message 
randomTable.js:6711 [14:02:25.477] this is error message 
randomTable.js:6711 [14:02:25.612] this is error message 
randomTable.js:6711 [14:02:25.715] this is error message 
randomTable.js:6711 [14:02:25.809] this is error message 
randomTable.js:6711 [14:02:25.993] this is error message 
randomTable.js:6711 [14:02:26.089] this is error message 

aber alles, was ich bekommen ist:

------ Run test started ------ 
NUnit VS Adapter 2.0.0.0 executing tests is started 
Loading tests from C:\automated_testing\testTable\TableSelenium.dll 
Run started: C:\automated_testing\testTable\TableSelenium.dll 
Starting test... 
[2016-05-04T12:02:16Z] [All] http://tstable.testsite.com/favicon.ico 0:0 Failed to load resource: the server responded with a status of 404 (Not Found) 

(die letzte Zeile zählt nur, aber um ehrlich zu sein - ich kann es nicht einmal diese Zeile im Browser (?) Sehen)

Ist das Problem in dieser Zeile? var logs = driver.Manage().Logs.GetLog(LogType.Browser);?

Ich bin mir bewusst, dass: https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/6832

aber auch einige ‚Hacks‘ sah Fehlerprotokolle auf unterschiedliche Weise zu sammeln. Der Hauptfall es - ich brauche keine Fehler, sondern alle Protokolle.

Irgendwelche Ideen?

Antwort

3

Das Problem war in der Treiber-Deklaration, wo LogLevel fehlte. Jetzt stelle ich SetLoggingPreference in [SetUp] Abschnitt:

ChromeOptions options = new ChromeOptions(); 
options.SetLoggingPreference(LogType.Browser, LogLevel.All); 
driver = new ChromeDriver("path to driver", options); 

und alle Protokolle werden in Debug-Konsole gedruckt :-)

+1

Works für Chrom, aber beide FF und IE-Treiber hat eine Ausnahme :(Oder es für Sie arbeiten in IE oder FF? –

Verwandte Themen