Puede transportador se ejecute lentamente?


¿Hay alguna manera de ejecutar una prueba Angular E2E escrita usando protractor lentamente para que pueda ver lo que está sucediendo?

Author: alecxe, 2014-07-25

3 answers

A continuación está mi solución para hacer eso. Así que, básicamente, he creado un decorador para el flujo de control de corriente execute función, que ahora adicionalmente colas de un retraso de 100ms antes de cada acción en cola.

Esto debe ejecutarse antes de que se invoque cualquier prueba (fuera del bloque describe)

var origFn = browser.driver.controlFlow().execute;

browser.driver.controlFlow().execute = function() {
  var args = arguments;

  // queue 100ms wait
  origFn.call(browser.driver.controlFlow(), function() {
    return protractor.promise.delayed(100);
  });

  return origFn.apply(browser.driver.controlFlow(), args);
};
 71
Author: Filip Sobczak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-15 12:20:29

Al igual que George Stocker dijo en el comentario, no se por qué querrías hacer esto...pero siempre puede agregar un sueño donde quiera en su prueba.

browser.sleep(6000);
 13
Author: David Greenwell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-24 22:06:31

Puede ingresar en' modo de depuración ' colocando en su código el comando:

browser.pause();

En el modo de depuración, verá la siguiente salida en su terminal:

------- WebDriver Debugger -------
ready

press c to continue to the next webdriver command
press d to continue to the next debugger statement
type "repl" to enter interactive mode
type "exit" to break out of interactive mode
press ^C to exit

Podrías entonces:

  • Ejecutar comando por comando ingresando c
  • Continúe con la siguiente instrucción del depurador (next browser.pause()) ingresando d
  • Entrar en modo interactivo donde se puede interactuar con todos los elementos mediante la introducción de repl
 11
Author: Julio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-08 22:41:55