test serp google checker check testing angularjs angular-scenario

testing - serp - test seo tags



Prueba e2e de escenarios angulares: espera a que finalicen los eventos clave antes de continuar (1)

¿Cómo está la gente escribiendo pruebas angulares de e2e que implican desencadenar una secuencia de eventos de IU? La naturaleza asincrónica del escenario parece dificultarlo.

Detalles: Estoy escribiendo pruebas para una aplicación que tiene mucho manejo de claves para ayudar a acelerar la edición de una forma especializada. He reunido una extensión de teclado para el escenario dsl (ver abajo) pero solo el primer evento clave de una prueba tiene algún efecto. es decir

keyboard().keydown(null, ''keydown'', 40, false, true); // ctrl-down expect(element(''*:focus'').text()).toEqual(''00:04''); keyboard().keydown(null, ''keydown'', 40, false, true); // ctrl-down expect(element(''*:focus'').text()).toEqual(''''); // but equals 00:04

La segunda clave no hace nada, porque no encuentra un *: foco para enrutar la clave (aunque hay uno en la pantalla). Confuso.

angular.scenario.dsl(''keyboard'', function() { var chain = {}; chain.keydown = function(selector, keyEvent, keyCode, shift, ctrl) { return this.addFutureAction("keyEvent", function($window, $document, done) { var jQuery = $window.$; var e = jQuery.Event(keyEvent); e.keyCode = keyCode; // # Some key code value e.altKey = false; e.ctrlKey = ctrl; e.shiftKey = shift; if (selector == null) selector = ''*:focus''; var j = jQuery(selector); if (j == null) j = jQuery(''body''); j.trigger(e); done(); }); }; return function() { return chain; }; });


El usuario parece haber abandonado esta pregunta, pero como dije, este es probablemente un problema con su keydown evento keydown .

Plnker un Plnker aquí con exactamente el mismo código y todo funciona como se esperaba.