ich nicht C# wissen, aber hier ist Java-Code, der die Arbeit erledigt, ich hoffe, Sie es zu 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();
}
}
Achten Sie auf setUp Verfahren in obigem Code übersetzen. Wir verwenden das LoggingPreferences-Objekt, um die Protokollierung zu aktivieren. Es gibt einige Arten von Protokollen, aber wenn Sie Konsolenfehler verfolgen möchten, sollten Sie LogType.BROWSER verwenden. Dann übergeben wir dieses Objekt an DesiredCapabilities und weiter an den ChromeDriver-Konstruktor und voila - wir haben eine Instanz von ChromeDriver mit aktivierter Protokollierung.
Nach einigen Aktionen auf der Seite rufen wir analyzeLog() -Methode. Hier extrahieren wir einfach das Protokoll und durchlaufen seine Einträge. Hier können Sie Aussagen machen oder andere Berichte erstellen, die Sie möchten.
Meine Inspiration war this code by Michael Klepikov, die erklärt, wie Leistungsprotokolle von ChromeDriver extrahiert werden.
Hilft das? http://stackoverflow.com/questions/5056737/getting-data-from-the-browsers-console-using-javascript –