Tôi không biết C# nhưng đây là mã Java mà không được công việc, tôi hy vọng bạn có thể dịch nó vào 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();
}
}
chú ý đến phương pháp thiết lập trong đoạn code trên. Chúng tôi sử dụng đối tượng LoggingPreferences để cho phép ghi nhật ký. Có một vài loại nhật ký, nhưng nếu bạn muốn theo dõi lỗi giao diện điều khiển thì LogType.BROWSER là một trong những loại mà bạn nên sử dụng. Sau đó, chúng tôi chuyển đối tượng đó cho DesiredCapabilities và hơn thế nữa với trình tạo và thông báo của ChromeDriver - chúng tôi có phiên bản ChromeDriver với tính năng ghi nhật ký được bật.
Sau khi thực hiện một số hành động trên trang, chúng tôi gọi phương thức analysisLog(). Ở đây chúng tôi chỉ cần trích xuất nhật ký và lặp qua các mục nhập của nó. Ở đây bạn có thể đặt xác nhận hoặc thực hiện bất kỳ báo cáo nào khác mà bạn muốn.
Cảm hứng của tôi là this code by Michael Klepikov giải thích cách trích xuất nhật ký hiệu suất từ ChromeDriver.
Điều này có hữu ích không? http://stackoverflow.com/questions/5056737/getting-data-from-the-browsers-console-using-javascript –