tag tab page change javascript angular protractor

javascript - tab - Error: se ha agotado el tiempo de espera para que las tareas angulares asíncronas finalicen después de 11 segundos



title of page javascript (3)

Me gustaría probar de extremo a extremo nuestra aplicación angular 2 utilizando Protractor, pero estoy atascado con el mensaje:

"Failed: Timed out waiting for asynchronous Angular tasks to finish after 11 seconds."

Mi archivo conf.

exports.config = { directConnect: true, specs: [''spec.js''], // For angular2 tests useAllAngular2AppRoots: true, }

Chrome se abre, y el sitio web también se abre, entonces no pasa nada hasta que se agota el tiempo de espera.

Cuando se desactiva la sincronización (usando browser.ignoreSynchronization = true;), está bien. Pero estoy perdiendo la función de "espera automática", una de las principales ventajas de usar Protractor.

La aplicación está totalmente basada en angular 2. Entonces, ¿por qué esto no funciona?

Nuestros desarrolladores me dijeron que no estamos realizando una encuesta (una de las posibles causas de acuerdo con la documentación del Transportador ). Por cierto, estamos usando la arquitectura websocket. No sé si hay un enlace.

En realidad, no sé cómo solucionar este problema en absoluto.

¿Podría alguien ayudar, por favor?


La activación temporal de browser.ignoreSynchronization lo corrige, como se informa en una respuesta here .

browser.ignoreSynchronization = true;

(código que arroja el error)

browser.ignoreSynchronization = false;


Modifique el caso de prueba y coloque browser.waitForAngularEnabled(false); Después del primer clic, debería funcionar.

Sin embargo, el método recomendado puede reemplazar el tiempo de espera predeterminado en su archivo allScriptsTimeout: 110000 como allScriptsTimeout: 110000


Tu conjetura es correcta. Este error se producirá cuando se ejecutan tareas pendientes en su aplicación angular2.

Sí, la razón más común es cuando la aplicación sondea continuamente $ timeout o $ http, Protractor esperará indefinidamente y expirará. Pero esto también puede ocurrir en situaciones en las que la aplicación tarda más de 11 segundos.

Consulte aquí para obtener más información sobre diferentes tiempos de espera

El valor de tiempo de espera predeterminado es de 11 segundos. Puede cambiar esto ajustando el valor a continuación en config.js e intente ver si sigue viendo el problema.

/** * The timeout in milliseconds for each script run on the browser. This * should be longer than the maximum time your application needs to * stabilize between tasks. */ allScriptsTimeout?: number;