A continuación, como puede ver, se supone que el browser.sleep debe ejecutarse si el cliente es XYZ, pero aún así no se está ejecutando. Si pongo cualquier console.log después de la declaración browser.sleep, esa declaración se está ejecutando (puedo ver la declaración) pero el browser.sleep no está realmente esperando a pesar de cuánto aumento el tiempo de suspensión.
¿Por qué el browser.sleep no funciona? ¿Cómo lo hago esperar si el cliente XYZ?
if (testproperties.client == 'ABC'){
browser.ignoreSynchronization = false;
browser.waitForAngular();
browser.ignoreSynchronization = true;
}
else if (testproperties.client == 'XYZ'){
browser.sleep('35000');
};
@ gamecheck80 elimina las comillas simples en el
// use like this
browser.sleep(35000);
Realmente rápido para una aclaración: browser.sleep devuelve una promesa. Mirando esto de cerca:
browser.sleep ('35000') es una entrada aceptable.
Debido a que browser.sleep devuelve una promesa, solo parecerá que funciona si espera a que finalice la promesa.
describe('browser', function() {
it('should sleep', function() {
browser.get('http://angularjs.org');
// does not work
// browser.sleep(10000);
// console.log('waited 10 seconds?');
// this does not work and "waited 10 seconds?" appears immediately after navigating
// after sleeping then print "waited 10 seconds"
browser.sleep(10000).then(function() {
console.log('waited 10 seconds');
});
});
});
Ojalá esto ayude. Para obtener más ayuda, haga sus preguntas de soporte en StackOverflow , la lista de discusión de Google Group o Gitter . Para obtener más información, consulte https://github.com/angular/protractor/blob/master/CONTRIBUTING.md#questions
¡Gracias!
browser.sleep (10000). then (function () {
console.log ('esperó 10 segundos');
});
Usar esto con Angular 6 y la versión 5.4.1 del transportador no funciona, al menos eso es lo que estoy viendo
Comentario más útil
@ gamecheck80 elimina las comillas simples en el