Non so C#, ma qui è il codice Java che fa il lavoro, spero che si può tradurre in C#
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.logging.LogEntries;
import org.openqa.selenium.logging.LogEntry;
import org.openqa.selenium.logging.LogType;
import org.openqa.selenium.logging.LoggingPreferences;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class ChromeConsoleLogging {
private WebDriver driver;
@BeforeMethod
public void setUp() {
System.setProperty("webdriver.chrome.driver", "c:\\path\\to\\chromedriver.exe");
DesiredCapabilities caps = DesiredCapabilities.chrome();
LoggingPreferences logPrefs = new LoggingPreferences();
logPrefs.enable(LogType.BROWSER, Level.ALL);
caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
driver = new ChromeDriver(caps);
}
@AfterMethod
public void tearDown() {
driver.quit();
}
public void analyzeLog() {
LogEntries logEntries = driver.manage().logs().get(LogType.BROWSER);
for (LogEntry entry : logEntries) {
System.out.println(new Date(entry.getTimestamp()) + " " + entry.getLevel() + " " + entry.getMessage());
//do something useful with the data
}
}
@Test
public void testMethod() {
driver.get("http://mypage.com");
//do something on page
analyzeLog();
}
}
Prestare attenzione al metodo di configurazione in codice di cui sopra. Utilizziamo l'oggetto LoggingPreferences per abilitare la registrazione. Esistono alcuni tipi di registri, ma se si desidera tenere traccia degli errori della console, LogType.BROWSER è quello che è necessario utilizzare. Quindi passiamo quell'oggetto a DesiredCapabilities e oltre al costruttore di ChromeDriver e voila - abbiamo un'istanza di ChromeDriver con la registrazione abilitata.
Dopo aver eseguito alcune azioni sulla pagina, si chiama metodo analyzeLog(). Qui semplicemente estraiamo il log e iteriamo attraverso le sue voci. Qui puoi mettere le asserzioni o fare qualsiasi altro rapporto che desideri.
L'ispirazione è stata this code by Michael Klepikov che spiega come estrarre i registri delle prestazioni da ChromeDriver.
Questo aiuto? http://stackoverflow.com/questions/5056737/getting-data-from-the-browsers-console-using-javascript –