2017-08-11 3 views
3

Je fais des tests e2e pour l'application angulaire. Pour la procédure de connexion, il devrait sortir de l'application, donc je fais:waitForAngularEnabled n'est pas une fonction

browser.waitForAngularEnabled(false); 
//login 
browser.waitForAngularEnabled(true); 

Il fonctionne parfaitement sur place, mais browserstack (exécution à distance), il throughs et erreur:

Failed: protractor_1.browser.waitForAngularEnabled is not a function 

Est-il problème connu?

question connexe - How does waitForAngularEnabled work?

Mise à jour: créé un problème sur github protractor - https://github.com/angular/protractor/issues/4453

+0

J'ai la même question. L'avez-vous déjà résolu? Tout fonctionnait bien pour moi, puis j'ai refactoring de mon système de build grunt et j'ai commencé à voir cette erreur. Puis je suis retourné à l'état de construction d'origine et je reçois toujours l'erreur .... – Brian

+0

pas oui, commuté à une autre chose, mais nous reviendrons bientôt –

+0

Je ne sais toujours pas le problème exact, mais est arrivé pour moi après avoir installé un nouveau paquet npm, qui a introduit de manière transitive de nombreux autres paquets. L'un d'eux que j'ai remarqué était le webdriver au sélénium. Donc je suppose qu'il y a des versions conflictuelles ou quelque chose du genre, je suis revenu par l'installation de npm et mes tests fonctionnent bien maintenant. – Brian

Répondre

2

La raison pour laquelle il ne fonctionne pas sur votre service browserstack est que 4 Protractor ne supporte pas waitForAngularEnabled(). Cette méthode n'est pas implémentée dans Protractor 4. Elle est implémentée sur Protractor 5.

Avez-vous installé Protractor global sur votre machine locale et avez peut-être la version 5.x.x?

Si vous voulez l'utiliser dans la version 4 devrait utiliser votre browser.ignoreSynchronisation = true|false, voir here