类org.openqa.selenium.logging.Logs源码实例Demo

下面列出了怎么用org.openqa.selenium.logging.Logs的API类实例代码及写法,或者点击链接到github查看源代码。

@TestFactory
Stream<DynamicTest> testCleanBeforeNavigate()
{
    WebDriver driver = mock(WebDriver.class, withSettings().extraInterfaces(HasCapabilities.class));
    Consumer<Runnable> test = methodUnderTest ->
    {
        Options options = mock(Options.class);
        when(driver.manage()).thenReturn(options);
        Logs logs = mock(Logs.class);
        when(options.logs()).thenReturn(logs);
        when(logs.get(LogType.BROWSER)).thenReturn(mock(LogEntries.class));
        methodUnderTest.run();
    };
    return Stream.of(
            dynamicTest("beforeNavigateBack", () -> test.accept(() -> listener.beforeNavigateBack(driver))),
            dynamicTest("beforeNavigateForward", () -> test.accept(() -> listener.beforeNavigateForward(driver))),
            dynamicTest("beforeNavigateRefresh", () -> test.accept(() -> listener.beforeNavigateRefresh(driver))),
            dynamicTest("beforeNavigateTo", () -> test.accept(() -> listener.beforeNavigateTo("url", driver))));
}
 
源代码2 项目: htmlunit   文件: ConsoleTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@BuggyWebDriver
public void assertOnly() throws Exception {
    final String html
        = "<html>\n"
        + "<body>\n"
        + "<script>\n"
        + "  number = 1;\n"
        + "  console.assert(number % 2 === 0);\n"
        + "</script>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(html);

    final Logs logs = driver.manage().logs();
    final LogEntries logEntries = logs.get(LogType.BROWSER);
    final List<LogEntry> logEntryList = logEntries.getAll();

    assertEquals(1, logEntryList.size());

    final LogEntry logEntry = logEntryList.get(0);
    assertTrue(logEntry.getMessage(), logEntry.getMessage().contains("Assertion failed"));
}
 
源代码3 项目: htmlunit   文件: ConsoleTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@BuggyWebDriver
public void assertString() throws Exception {
    final String html
        = "<html>\n"
        + "<body>\n"
        + "<script>\n"
        + "  number = 1;\n"
        + "  console.assert(number % 2 === 0, 'the # is not even');\n"
        + "</script>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(html);

    final Logs logs = driver.manage().logs();
    final LogEntries logEntries = logs.get(LogType.BROWSER);
    final List<LogEntry> logEntryList = logEntries.getAll();

    assertEquals(1, logEntryList.size());

    final LogEntry logEntry = logEntryList.get(0);
    assertTrue(logEntry.getMessage(), logEntry.getMessage().contains("Assertion failed: the # is not even"));
}
 
源代码4 项目: htmlunit   文件: ConsoleTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@BuggyWebDriver
public void assertObject() throws Exception {
    final String html
        = "<html>\n"
        + "<body>\n"
        + "<script>\n"
        + "  number = 1;\n"
        + "  console.assert(number % 2 === 0, {number: number, errorMsg: 'the # is not even'});\n"
        + "</script>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(html);

    final Logs logs = driver.manage().logs();
    final LogEntries logEntries = logs.get(LogType.BROWSER);
    final List<LogEntry> logEntryList = logEntries.getAll();

    assertEquals(1, logEntryList.size());

    final LogEntry logEntry = logEntryList.get(0);
    assertTrue(logEntry.getMessage(), logEntry.getMessage()
            .contains("Assertion failed: ({number: 1.0, errorMsg: \"the # is not even\"})"));
}
 
源代码5 项目: htmlunit   文件: ConsoleTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@BuggyWebDriver
public void assertObjects() throws Exception {
    final String html
        = "<html>\n"
        + "<body>\n"
        + "<script>\n"
        + "  number = 1;\n"
        + "  console.assert(number % 2 === 0, {number: number}, {errorMsg: 'the # is not even'});\n"
        + "</script>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(html);

    final Logs logs = driver.manage().logs();
    final LogEntries logEntries = logs.get(LogType.BROWSER);
    final List<LogEntry> logEntryList = logEntries.getAll();

    assertEquals(1, logEntryList.size());

    final LogEntry logEntry = logEntryList.get(0);
    assertTrue(logEntry.getMessage(), logEntry.getMessage()
            .contains("Assertion failed: ({number: 1.0}) ({errorMsg: \"the # is not even\"})"));
}
 
源代码6 项目: htmlunit   文件: ConsoleTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@BuggyWebDriver
public void assertParams() throws Exception {
    final String html
        = "<html>\n"
        + "<body>\n"
        + "<script>\n"
        + "  console.assert(false, 'the word is %s', 'foo');\n"
        + "</script>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(html);

    final Logs logs = driver.manage().logs();
    final LogEntries logEntries = logs.get(LogType.BROWSER);
    final List<LogEntry> logEntryList = logEntries.getAll();

    assertEquals(1, logEntryList.size());

    final LogEntry logEntry = logEntryList.get(0);
    assertTrue(logEntry.getMessage(), logEntry.getMessage()
            .contains("Assertion failed: the word is foo"));
}
 
源代码7 项目: vividus   文件: BrowserLogManagerTests.java
private static LogEntries mockLogRetrieval(WebDriver webDriver)
{
    Options options = mock(Options.class);
    when(webDriver.manage()).thenReturn(options);
    Logs logs = mock(Logs.class);
    when(options.logs()).thenReturn(logs);
    when(options.logs()).thenReturn(logs);
    LogEntry severeEntry = new LogEntry(Level.SEVERE, 1L, ERROR_MESSAGE);
    LogEntry infoEntry = new LogEntry(Level.INFO, 1L, ERROR_MESSAGE);
    LogEntries logEntries = new LogEntries(Arrays.asList(severeEntry, infoEntry));
    when(logs.get(LogType.BROWSER)).thenReturn(logEntries);
    return logEntries;
}
 
源代码8 项目: vividus   文件: JsValidationStepsTests.java
private LogEntry mockGetLogEntry(String logErrorMessage)
{
    WebDriver webDriver = mock(WebDriver.class, withSettings().extraInterfaces(HasCapabilities.class));
    when(webDriverProvider.get()).thenReturn(webDriver);
    when(webDriver.getCurrentUrl()).thenReturn(URL);
    Options options = mock(Options.class);
    when(webDriver.manage()).thenReturn(options);
    Logs logs = mock(Logs.class);
    when(options.logs()).thenReturn(logs);
    LogEntry severeEntry = new LogEntry(Level.SEVERE, 1L, logErrorMessage);
    LogEntry infoEntry = new LogEntry(Level.INFO, 1L, logErrorMessage);
    LogEntries logEntries = new LogEntries(Arrays.asList(severeEntry, infoEntry));
    when(logs.get(LogType.BROWSER)).thenReturn(logEntries);
    return severeEntry;
}
 
源代码9 项目: htmlunit   文件: ConsoleTest.java
/**
 * @throws Exception if the test fails
 */
@Test
@BuggyWebDriver
public void simpleString() throws Exception {
    final String html
        = "<html>\n"
        + "<body>\n"
        + "<script>\n"
        + "  for (i = 0; i < 4; i++) {\n"
        + "    console.log('test log ' + i);\n"
        + "  }\n"
        + "</script>\n"
        + "</body></html>";

    final WebDriver driver = loadPage2(html);

    final Logs logs = driver.manage().logs();
    final LogEntries logEntries = logs.get(LogType.BROWSER);
    final List<LogEntry> logEntryList = logEntries.getAll();

    final int count = logEntryList.size();
    assertTrue(count > 0);

    long timestamp = 0;
    for (int i = 0; i < 4; i++) {
        final LogEntry logEntry = logEntryList.get(i);
        assertTrue(logEntry.getMessage(), logEntry.getMessage().contains("test log " + i));
        assertTrue(logEntry.getTimestamp() >= timestamp);
        timestamp = logEntry.getTimestamp();
    }
}
 
源代码10 项目: gatf   文件: SeleniumException.java
public SeleniumException(WebDriver d, Throwable cause, SeleniumTest test) {
	super(cause);
	Map<String, SerializableLogEntries> lg = new HashMap<String, SerializableLogEntries>();
       Logs logs = d.manage().logs();
       for (String s : d.manage().logs().getAvailableLogTypes()) {
           LogEntries logEntries = logs.get(s);
           if(!logEntries.getAll().isEmpty()) {
               lg.put(s, new SerializableLogEntries(logEntries.getAll())); 
           }
       }
       List<LogEntry> entries = new ArrayList<LogEntry>();
       entries.add(new LogEntry(Level.ALL, new Date().getTime(), cause.getMessage()));
       entries.add(new LogEntry(Level.ALL, new Date().getTime(), ExceptionUtils.getStackTrace(cause)));
       lg.put("gatf", new SerializableLogEntries(entries));
}
 
源代码11 项目: cerberus-source   文件: WebDriverService.java
@Override
public List<String> getSeleniumLog(Session session) {
    List<String> result = new ArrayList<>();
    Logs logs = session.getDriver().manage().logs();

    for (String logType : logs.getAvailableLogTypes()) {
        LogEntries logEntries = logs.get(logType);
        result.add("********************" + logType + "********************\n");
        for (LogEntry logEntry : logEntries) {
            result.add(new Date(logEntry.getTimestamp()) + " : " + logEntry.getLevel() + " : " + logEntry.getMessage() + "\n");
        }
    }

    return result;
}
 
源代码12 项目: marathonv5   文件: JavaDriver.java
public void clearlogs(String logType) {
    Logs logs = manage().logs();
    logs.get(logType);
}
 
源代码13 项目: allure-java   文件: AllureSelenideTest.java
@AllureFeatures.Attachments
@Test
void shouldSaveLogs() {
    final LogEntry logEntry = new LogEntry(Level.ALL, 10, "SIMPLE LOG");
    final LogEntries logEntries = new LogEntries(Collections.singletonList(logEntry));
    final ChromeDriver wdMock = mock(ChromeDriver.class);
    final Logs logsMock = mock(Logs.class);
    final Options optionsMock = mock(Options.class);

    WebDriverRunner.setWebDriver(wdMock);

    doReturn(optionsMock).when(wdMock).manage();
    doReturn(logsMock).when(optionsMock).logs();
    doReturn(logEntries).when(logsMock).get(LogType.BROWSER.toString());

    final AllureResults results = runWithinTestContext(() -> {
        final AllureSelenide selenide = new AllureSelenide()
                .enableLogs(LogType.BROWSER, Level.ALL)
                .savePageSource(false)
                .screenshots(false);

        SelenideLogger.addListener(UUID.randomUUID().toString(), selenide);

        final SelenideLog log = SelenideLogger.beginStep(
            "dummy source",
            "dummyMethod()",
            "param1",
            "param2");

        SelenideLogger.commitStep(log, new Exception("something went wrong"));
    });

    final StepResult selenideStep = extractStepFromResults(results);
    final Attachment attachment = selenideStep.getAttachments().iterator().next();
    final String attachmentContent = new String(
        results.getAttachments().get(attachment.getSource()),
        StandardCharsets.UTF_8
    );

    assertThat(selenideStep.getAttachments()).hasSize(1);
    assertThat(results.getAttachments()).containsKey(attachment.getSource());
    assertThat(attachmentContent).isEqualTo(logEntry.toString());
}
 
源代码14 项目: xframium-java   文件: DeviceWebDriver.java
@Override
public Logs logs()
{
    return options.logs();
}
 
源代码15 项目: java-client   文件: EmptyWebDriver.java
@Override public Logs logs() {
    return null;
}
 
源代码16 项目: selenium   文件: EventFiringWebDriver.java
@Override
public Logs logs() {
  return options.logs();
}
 
源代码17 项目: selenium   文件: RemoteWebDriver.java
@Override
@Beta
public Logs logs() {
  return remoteLogs;
}
 
源代码18 项目: selenium   文件: StubDriver.java
public Logs logs() {
  throw new UnsupportedOperationException("logs");
}
 
源代码19 项目: java-client   文件: WebDriver.java
/**
 * Gets the {@link Logs} interface used to fetch different types of logs.
 *
 * <p>To set the logging preferences {@link LoggingPreferences}.
 *
 * @return A Logs interface.
 */
@Beta
Logs logs();
 
源代码20 项目: selenium   文件: WebDriver.java
/**
 * Gets the {@link Logs} interface used to fetch different types of logs.
 * <p>
 * To set the logging preferences {@link LoggingPreferences}.
 *
 * @return A Logs interface.
 */
@Beta
Logs logs();
 
 类所在包
 类方法
 同包方法