it-swarm.com.ru

Как получить родной регистратор в Selenium WebDriver

Можно ли как-нибудь получить регистратор, который использует Selenium WebDriver? Я хочу захватить стенограмму всех команд, которые были выполнены (например: открыть, подождать, нажать и т.д.). В частности, я ищу решение Java, так как я экспортирую тесты в junit.

Я нашел этот код на их сайте, однако он ничего не отображает на стандартном

    DesiredCapabilities caps = DesiredCapabilities.firefox(); 
    LoggingPreferences logs = new LoggingPreferences(); 
    logs.enable(LogType.DRIVER, Level.FINEST); 
    caps.setCapability(CapabilityType.LOGGING_PREFS, logs); 
    driver = new FirefoxDriver(caps);
19
Zombies

Включите ведение журнала в используемом вами драйвере, выберите, какие типы журналов вам интересны, и уровень журнала (я использую FirefoxDriver, включающий все типы журналов и собирающий все сообщения журнала).

LoggingPreferences logs = new LoggingPreferences();
logs.enable(LogType.BROWSER, Level.ALL);
logs.enable(LogType.CLIENT, Level.ALL);
logs.enable(LogType.DRIVER, Level.ALL);
logs.enable(LogType.PERFORMANCE, Level.ALL);
logs.enable(LogType.PROFILER, Level.ALL);
logs.enable(LogType.SERVER, Level.ALL);

DesiredCapabilities desiredCapabilities = DesiredCapabilities.firefox();
desiredCapabilities.setCapability(CapabilityType.LOGGING_PREFS, logs);

WebDriver driver = new FirefoxDriver(desiredCapabilities);

Затем, после запуска теста вы можете собирать журналы (я собираю только журналы DRIVER, но вы можете сделать то же самое для любого типа журнала)

Logs logs = driver.manage().logs();
LogEntries logEntries = logs.get(LogType.DRIVER);

for (LogEntry logEntry : logEntries) {
    System.out.println(logEntry.getMessage());
}
35
Miguel Ferreira

Пытаться

driver.manage().logs()

Вы получите интерфейс Logs, который имеет методы для получения журналов и типов журналов. Смотрите Журналы интерфейса документов

3
Nikolay

Попробуй это - 

import logging
logging.basicConfig(filename = log_filename, level = logging.DEBUG)

Ссылка - Модульные тесты Selenium в Python - где мой файл журнала?

0
Thirumal

Я использую log4j для регистрации, так как утилита logger является самой простой и понятной из всех, которые можно использовать (IMHO).

POM зависимости:

<dependency>
          <groupId> org.Apache.cassandra</groupId>
          <artifactId>cassandra-all</artifactId>
          <version>0.8.1</version>
      </dependency>

      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>1.6.6</version>
      </dependency>
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>jcl-over-slf4j</artifactId>
          <version>1.6.6</version>
          <scope>runtime</scope>
      </dependency>
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>jul-to-slf4j</artifactId>
          <version>1.6.6</version>
          <scope>runtime</scope>
      </dependency>
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>log4j-over-slf4j</artifactId>
          <version>1.6.6</version>
          <scope>runtime</scope>
      </dependency>

импорт следующие:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

использование:

private static Logger log = LoggerFactory.getLogger(classname.class);

а затем просто используйте его как таковой:

logger.info ("butonCLick");
driver.findElement(By.id("blablabla")).click();

Надеюсь, что это работает для вас.

0
eugene.polschikov