Es posible obtener el registrador de alguna manera que Selenium WebDriver utiliza? Quiero capturar una transcripción de todos los comandos que se han emitido (por ejemplo: abrir, espere, haga clic en, etc). En particular, estoy buscando una solución de java, como yo soy la exportación de las pruebas junit.

He encontrado este código en su página web, sin embargo, no se muestra nada en la salida estándar

    DesiredCapabilities caps = DesiredCapabilities.firefox(); 
    LoggingPreferences logs = new LoggingPreferences(); 
    logs.enable(LogType.DRIVER, Level.FINEST); 
    caps.setCapability(CapabilityType.LOGGING_PREFS, logs); 
    driver = new FirefoxDriver(caps);
InformationsquelleAutor Zombies | 2012-11-03

4 Comentarios

  1. 36

    Habilitar el registro en el controlador que está utilizando, seleccione los tipos de registro que le interesa y el nivel de registro (estoy usando FirefoxDriver, permitiendo a todos los tipos de registros y recolección de todos los mensajes de registro)

    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);

    Luego, después de la ejecución de la prueba puede recopilar los registros (sólo estoy recogiendo el CONTROLADOR de registros, pero se puede hacer lo mismo para cualquier tipo de registro)

    Logs logs = driver.manage().logs();
    LogEntries logEntries = logs.get(LogType.DRIVER);
    
    for (LogEntry logEntry : logEntries) {
        System.out.println(logEntry.getMessage());
    }
    • ¿Cómo puedo capturar los registros con log4j o cualquier otro registrador?
    • En lugar de imprimir «logEntry.getMessage()» para la consola en el ejemplo anterior, usted debe impresión de que el valor de uso de log4j registrador.
    • solución agradable para FF, pero tienen una solución para IE11?
    • Esto lo escribí hace mucho tiempo, pero mi mejor conjetura aún sería que usted necesita para cambiar el controlador. En mi ejemplo yo uso FirefoxDriver, que, en principio, podría sustituir por cualquier otro conductor, es decir, un controlador para IE11. ¿Has probado eso?
  2. 0

    Estoy usando log4j para el registro como utils logger es la más fácil y directo que, que se puede utilizar (en mi humilde opinión).

    POM dependencias:

    <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>

    las importaciones son los siguientes:

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

    uso:

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

    y, a continuación, sólo lo utilizan como tal:

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

    Espero que esto funcione para usted.

    • Manualmente el registro con logger.info ("butonCLick");. Estoy haciendo ahora, pero es un dolor y también poco fiable. Quiero obtener un nativo de selenio registrador de hacer esto.

Dejar respuesta

Please enter your comment!
Please enter your name here