Protractor: Échec : erreur lors de l'attente de la synchronisation du rapporteur avec la page : « angular n'a pas pu être trouvé sur la fenêtre »

Créé le 28 janv. 2015  ·  52Commentaires  ·  Source: angular/protractor

Après avoir mis à jour Protaractor vers 1.6.1 , webdriver , chromedriver, jasmine vers 2.0, lorsque j'essaie d'exécuter mes tests, j'obtiens :

"Using ChromeDriver directly...
[launcher] Running 1 instances of WebDriver
Start test TC06_01_01_Binary_1_1
Started
Execute test TC06_01_01_Binary_1_1
Login as Admin
Execute script no 18
F

Failures:
1) TC06_01_01_Binary_1_1 TC06_01_01_Binary_1_1 Should be able to add record with different values
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
       at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:104:1
6
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\go
og\base.js:1582:15
        at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\Users\E2Euser\AppData\Roaming\npm\
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
        at notify (C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdrive
r\lib\webdriver\promise.js:465:12)
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the windo
w"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on th
e window"
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:104:1
6
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\go
og\base.js:1582:15
        at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\Users\E2Euser\AppData\Roaming\npm\
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
        at notify (C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdrive
r\lib\webdriver\promise.js:465:12)
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the windo
w"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on th
e window"
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:104:1
6
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\go
og\base.js:1582:15
        at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\Users\E2Euser\AppData\Roaming\npm\
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
        at notify (C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdrive
r\lib\webdriver\promise.js:465:12)

1 spec, 1 failure
Finished in 1.409 seconds
[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 failed 1 test(s)
[launcher] overall: 1 failed spec(s)
[launcher] Process exited with error code 1"

une idée pourquoi Angular ne peut pas être trouvé? ou comment dois-je résoudre cela?

needs investigation

Tous les 52 commentaires

En fait, j'ai eu exactement le même problème sur OSX.

... snip ...
Running "connect:test" (connect) task
Started connect web server on http://localhost:9001

Running "protractor:run" (protractor) task
Using the selenium server at http://127.0.0.1:4444/wd/hub
[launcher] Running 1 instances of WebDriver
Uncaught exception: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
[launcher] Process exited with error code 1
>>
Fatal error: protractor exited with code: 1
... snip ...

Après cela, l'instance de Chrome qu'il avait ouverte reste ouverte dans un état bloqué.

J'ai le même problème aujourd'hui sur Mac OS. Après avoir fermé tous les terminaux et navigateurs et rouvrir cette erreur, arrêtez (de loin au moins).

Je rencontre également cela avec la version 2.0.0 .

même moi je suis confronté au même problème.

Le mer. 1 avril 2015 à 11h03, Walter H. Roman [email protected]
a écrit:

Je vis cela aussi avec la version 2.0.0.

-
Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/angular/protractor/issues/1760#issuecomment -88355894.

Moi aussi

idem ici, pourquoi ce problème est-il clos ?

la rétrogradation vers la 1.8.0 a résolu ce problème-

Appelez-vous browser.get() dans votre fonction onPrepare ? Voir #1978

J'utilise browser.get(), mais je ne pense pas utiliser onPrepare, j'exécute cet exemple pour todomvc angulaire - https://github.com/mknabe/angular-testing-starter/blob/ master/test/e2e/scenarios.js

cogner...

comme @ cm325, j'obtiens l'erreur "angular n'a pas pu être trouvée sur la fenêtre" lors de l'exécution de la version 2.0.0, mais la rétrogradation vers la version 1.8.0 résout le problème

COGNER!

même problème après la mise à niveau vers la version 2.1.0, a dû passer à la version 1.8.0 pour résoudre le problème

Avoir ce même problème aussi sur OSX

Modifié - Corrigé

J'ai donc corrigé cela en modifiant le code suivant dans l'un de mes constructeurs de page :

this.currentUrl =  browser.getCurrentUrl();

À

this.currentUrl = function(){
    return browser.getCurrentUrl();
  };

Mes tests fonctionnaient bien et sans aucune raison, cela s'est avéré. Je n'ai apporté aucune modification au système ou au code pour provoquer cela. Je ne peux pas rétrograder, j'ai besoin de 2.0. J'ai fait la dernière solution de contournement pour currentUrl et cela n'aide pas non plus. Toute aide sera géniale..

J'ai vécu la même chose le lundi. Vendredi dernier, tout allait bien, puis à partir de lundi, je ne peux exécuter aucun test car lorsque la page de connexion doit être chargée, qui est une page non angulaire, j'obtiens la même erreur. J'ai essayé de rétrograder le rapporteur à 1.8.0 et 1.4.0, rien, j'ai essayé de changer le cadre en 'jasmine2', encore une fois rien, je n'utilise pas browser.get in onPrepare. Je n'ai pas plus d'idée de ce que je peux essayer. D'autres suggestions, que puis-je changer ou essayer ? THX!

Je rencontre le même problème ici aussi. : poing:bump pour plus d'attention.
La rétrogradation à la 1.8.0 à partir de la 2.1.0 ne l'a pas résolu immédiatement...

J'ai le même problème. Je viens de configurer un rapporteur avec concombre-js, chai et chai-comme promis. J'ai deux fonctionnalités très basiques à tester par rapport à des exemples d'étapes de base. J'utilise également ES6 pré-transpilé et chargé avec SystemJS. Je ne peux pas trouver comment reproduire systématiquement ce problème. Bien que pour le moment, je puisse le faire en changeant l'une de mes étapes spécifiques pour échouer intentionnellement. Je ne sais pas s'il est exécuté en premier/dernier ou pourquoi il doit s'agir de celui-ci.

Les deux wrappers d'étapes ressemblent fondamentalement à ceci :

var Promise = require('es6-promise').Promise;
var World = require("../support/world.js").World;

module.exports = function() {
    this.World = World;

    this.Given(/^Something exists$/, function() {
        browser.get('http://localhost:3000/');
        return Promise.all([
            expect(browser.getCurrentUrl()).to.eventually.equal('http://localhost:3000/#/dashboard'),
            expect(browser.getTitle()).to.eventually.equal('Dashboard')
        ]);
    });
};

Salut les gars! Nous avons résolu le problème dans notre projet. Mais malheureusement, je ne sais pas exactement si le problème était avec les versions rapporteur et jasmin-reporters ou avec autre chose. À un moment donné du test, nous avons écrit

element(by.id('logIn')).click().then(function (p) {
                browser.driver.wait(browser.driver.isElementPresent(by.id('Email')));
            });;

et d'autres comme ça, et ces attentes sont résolues le problème.
Je sais que ce n'est pas le mieux à résoudre comme ça, mais ça marche pour l'instant et c'était le premier point, pour que ça marche.

@ Yok86 Je viens d'essayer votre correctif et cela a fonctionné ! :+1:

C'est aussi plus ordonné que notre solution de contournement. Nous avons lancé un browser.debugger() à la fin de notre gestionnaire onPrepare et cela a semblé résoudre le problème de timing en jeu, mais je ne sais pas pourquoi. C'est beaucoup plus propre.

browser.driver.findElement(by.xpath("//*[@id='submit']")).click().then(function(p) {
      browser.driver.wait(browser.driver.getTitle().then(function (title) {
        return title == 'AppName';
      }));
    });

Avoir les mêmes problèmes :

Échec : erreur lors de l'attente de la synchronisation de Protractor avec la page : "[ng:test] aucun injecteur trouvé pour l'argument d'élément à getTestability\ nhttp://errors.angularjs.org/1.4.5/ng/test "
Empiler:
Erreur : Échec : Erreur lors de l'attente de la synchronisation de Protractor avec la page : "[ng:test] aucun injecteur trouvé pour l'argument d'élément à getTestability\ nhttp://errors.angularjs.org/1.4.5/ng/test "
à la pile (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:1482:17)
à buildExpectationResult (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:1452:14)
à Spec.Env.expectationResultFactory (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:583:18)
à Spec.addExpectationResult (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:324:34)
à Suite.addExpectationResult (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:2123:38)
à Env.fail (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:894:25)
à Function.next.fail (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:1806:19)
à c:\Program Filesnodejsnode_modules\protractornode_modules\jasminewd2index.js:101:16
à [object Object].promise.ControlFlow.runInFrame_ (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\webdriver\promise.js:1877:20)
à [object Object].promise.Callback_.goog.defineClass.notify (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\webdriver\promise.js:2464:25)
à [object Object].promise.Promise.notify_ (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\webdriver\promise.js:563:12)
à Array.forEach (natif)
à Object.goog.array.forEach (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\goog\array\array.js:203:43)
sur [object Object].promise.Promise.notifyAll_ (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\webdriver\promise.js:552:16)
sur goog.async.run.processWorkQueue (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\goog\async\run.js:125:21)
à process._tickCallback (node.js:356:9)

Même erreur ici sur OSX, lors de l'exécution avec phantomjs. Fonctionne bien dans Chrome

Erreur en attendant que Protractor se synchronise avec la page : "[ng:test] http://errors.angularjs.org/1.4.3/ng/test "

Ayant le même problème ici, cela fonctionnait bien mais a maintenant cessé de fonctionner

j'ai aussi ce problème

+1 Vendredi dernier fonctionnait bien, sans raison ne fonctionne pas maintenant

C'est délicat. Quelqu'un peut-il travailler pour obtenir un cas de test isolé et reproductible ? Je n'ai pas été en mesure de reproduire cela de manière fiable par moi-même (bien que, pour être honnête, je n'ai pas encore creusé une tonne).

Pour résumer certains des messages ici, l'erreur est présente avec :

  • Version : rapporteur 2.x.x (en plus du problème de l'OP en 1.6.x )
  • Cadres : Jasmin 2
  • Navigateurs : Chrome et PhantomJS
  • Plateformes : OSX et Windows
  • Pages angulaires/non angulaires : ???

Ce qui est assez large malheureusement :(

@jessiahr @navarrojp @AndreasMaier seriez-vous intéressé pour aider à déboguer cela ? On pourrait utiliser la salle des gitter pour se coordonner.

Même problème:

  • Version : Rapporteur 2.5.1
  • Cadre : Jasmin 2
  • Navigateurs : Chrome
  • Plateforme : OSX
  • Page angulaire

@mrzmyr merci pour les détails. Serait-il possible d'obtenir une configuration et un exemple de spécification isolé où vous pouvez reproduire cela ?

@NickTomlin J'aimerais avoir un exemple de spécification ou quelque chose de similaire. Il ne m'était même pas possible de le reproduire dans le même environnement. Cela ressemble à un problème de timing pour moi.

J'ai le même problème, dans ma configuration j'ai un onPrepare et cette ligne est là.
browser.driver.get(targetUrl);

cette erreur se produit environ 40% du temps. je ne sais pas pourquoi.

jasmin 2.XX

J'ai le même problème que @mrzmyr :

Version : dernière version du rapporteur
Cadre : Jasmin 2
Navigateurs : Chrome
Plateforme : OSX
Page angulaire

Je vais essayer de rétrograder à 1.8 pour voir si cela résout le problème. C'est bizarre, car les tests se déroulaient hier.

Il existe un cas de test reproductible en suivant le tutoriel ici . Le cas de configuration/test que j'ai utilisé est ici pour référence. Le tutoriel n'est pas le plus précis, mais il reproduit le problème pour moi.

[email protected]
Plateforme : OSX
Angulaire
Cadre : Jasmin2
Navigateur : Chrome

Ce message d'erreur est généralement dû au fait qu'une sorte de navigation a été effectuée en utilisant autre chose que browser.get . browser.get , en plus de changer l'URL, attend le chargement d'angular et amorce Protractor.

@61ue5peed votre problème est que browser.driver.get ne fournit pas la même synchronisation et le même amorçage. Dans ta cause, je passerais simplement de browser.driver.get à browser.get

@jennapederson Dans votre cas, je suppose que #becomeAwesome est un lien, et en cliquant dessus, vous naviguez sans synchronisation ni démarrage. Dans des cas comme le vôtre, j'ajouterais simplement un browser.refresh après avoir cliqué sur le lien.

D'autres rapports semblent être similaires, je vais donc clore ce sujet. Si les gens peuvent déclencher ce problème en utilisant un test qui repose exclusivement sur borwser.get pour la navigation, je suggère qu'ils ouvrent un nouveau problème

Ce problème est toujours reproductible dans la v 3.3.1.
J'utilise browser.get pour accéder à ma page d'accueil et cela échoue du premier coup.

Juste pour vous faire savoir -> dans mon cas, le problème était un module angulaire externe qui charge l'API Facebook .... le javascript facebook a accédé à la structure dom dans l'application angulaire et a essayé de la changer. J'ai dû changer de module pour éviter de charger le script facebook lors des tests

Je reçois également ce problème. Pas souvent mais assez pour être un problème. C'est une page angulaire régulière, rien d'extérieur ou de non angulaire à ce sujet. Le test réussit la plupart du temps, mais parfois cette erreur apparaît et échoue. On dirait qu'il n'attend pas assez longtemps pour qu'un modal se charge. C'est toujours sur la même étape/test.

Rapporteur : 3.2.2
Concombre-rapporteur : 0.4.0

@drcjones
element(by.css(selector)).isPresent().then(function (result) {
si (résultat) {
element(by.css(selector)).click();
}
}, 20000);

Salut,

Je rencontre le même problème. J'essaye d'obtenir le titre du navigateur. Est-ce que je fais quelque chose de mal?

Failed: Angular could not be found on the page http://thetestroom.com/jsweba

pp/ : angulaire jamais fourni resumeBootstrap
Empiler:
Erreur : Angular n'a pas pu être trouvé sur la page http://thetestroom.com/jswebap
p/ : angulaire jamais fourni resumeBootstrap

` avantChaque(fonction() {

    browser.get('http://thetestroom.com/jswebapp/');
});

it('should test webpage title', function() {
    expect(browser.getTitle()).toEqual('Zoo Adoption | Home');
});`

Tout retour sera bon.

Je ne vous vois pas attendre Angular ou attendre un changement d'URL spécifique dans le navigateur ou un élément avant d'obtenir le titre. Voyez si cela aide.

browser.get(testUrl).then(function() {
browser.wait(function() {
return browser.getCurrentUrl().then(function(url) {
return /thetestroom/.test(url);
});
}, 10000);
});

Nous avons commencé à voir ce problème par intermittence dans IE9. La mise à niveau de 3.2.1 à 3.3.0 a arrêté les erreurs.

Idem ici - la mise à niveau de 3.2.1 à 3.3.0 a corrigé cela pour nous

J'ai la même erreur. à l'aide de chrome. toutes les suggestions sont géniales. Merci

config.js

exportations.config = {
directConnect : vrai,
allScriptsTimeout : 1000,

// Capacités à transmettre à l'instance webdriver.
capacités : {
'browserName' : 'chrome'
// 'nom_navigateur' : 'firefox'
},

// Framework à utiliser. Le jasmin est recommandé.
cadre : 'jasmin',

// Les modèles de spécification sont relatifs au répertoire de travail courant lorsque
// le rapporteur est appelé.
// spécifications : ['example_spec.js'],
spécifications : ['*_spec.js'],

séléniumAddress : ' http://localhost :8080/McacApp/index.html',
baseUrl : ' http://localhost :8080/McacApp/index.html',

// rapporteur-conf.js
rootElement : '.macApp',
// Options à passer à Jasmine.
jasmineNodeOpts : {
defaultTimeoutInterval : 30000,

baseUrl: 'http://localhost:8080/McacApp/index.html',
jasmineNodeOpts: {
  onComplete: null,
  isVerbose: false,
  showColors: true,
  includeStackTrace: false
}

}

} ;
exemple.spec.js

describe('Test rapide', function() {

it('Should do something', function() {

    browser.get('http://localhost:8080/McacApp/index.html');
   element(by.model('ctrl.formData.emailAddress')).sendKeys('emailAddress');
  // element(by.model('ctrl.formData.employmentType')).sendKeys('employmentType');
  element(by.xpath("//button[text()='Confirm']")).click();
  browser.sleep(10000);


    //expect (element(by.xpath("//ui-view/div/div[2]/div[1]/a/div/p"))).toEqual("Manage users and teams.");
    //expect(element(by.xpath("//ui-view/div/div[2]/div[2]/a/div/p"))).toEqual("Define metrics that drive your business.");
    //expect(element(by.xpath("//ui-view/div/div[2]/div[3]/a/div/p"))).toEqual("Create and modify leaderboards that display metrics.");

});

});

@Karpo72 : Pourriez-vous s'il vous plaît fournir votre exemple pour ce problème pour la validation des e-mails et des contacts.

Erreur : Échec : Erreur lors de l'attente de la synchronisation de Protractor avec la page : "[ng:test] http://errors.angularjs.org/1.4.7/ng/test "

Merci beaucoup apprécié.

@reddynr Je ne vous vois pas attendre un élément ou quoi que ce soit après avoir .get() la page. Vous devriez. Voir les exemples ci-dessus dans ce fil

Dans ton cas ça devrait être
browser.get(..).then(function() { browser.driver.wait(browser.driver.isElementPresent(by.model('ctrl.formData.emailAddress'))); // all remaining sendKeys, submit and assert code here. });

@ srajagopalan1712 Merci pour les commentaires. mais toujours la même erreur. voici ma réalisation.

Merci, très apprécié, si des suggestions.

décrire('mcacapp', fonction() {
it('tester la fonctionnalité de messagerie', function()
{
browser.get('http://localhost:8080/McacApp/index.html').then(function() {
browser.wait(function() {
return browser.getCurrentUrl().then(function(url) {
return /thetestroom/.test(url);
});
}, 10000);

});
element(by.model('ctrl.formData.emailAddress')).sendKeys('[email protected]');
var salutation = element(by.binding('ctrl.formData.emailAddress'));
expect(greeting.getText()).toEqual('[email protected]');
});
});

au lieu d'attendre que l'URL change, attendez que l'élément emailAddress soit également présent. Essayez également browser.driver.wait et browser.driver.getCurrentUrl. Déplacez également tous les autres codes de test à l'intérieur du bloc get()...{}.

@ srajagopalan1712 Merci pour les commentaires. Mais toujours la même erreur. Pourriez-vous s'il vous plaît fournir un exemple de travail serait très utile.

Merci beaucoup.

Je vois ci-dessus que vous avez return /thetestroom/.test(url); dans le code ci-dessus. C'était un exemple que j'ai donné à quelqu'un d'autre pour son URL dans une réponse plus ancienne. Veuillez changer « thetestroom » ici à l'apparence de votre URL. Vous auriez dû obtenir un temps d'attente ici au lieu d'un problème angulaire.
Voici le code que j'ai pour résoudre ce problème

 homepage.myButton.click().then(function() {
     browser.driver.wait(function() {
        return browser.driver.getCurrentUrl().then(function(url) {
          return url.includes('......'); // checks if the new url has what you are looking for in ...    
     }); // this waits until the url changes to whatever it should be in ....
    }, 25000, "URL hasn't changed").then(function() {
   // after url changed, in new page check these 
   // pec is protractor expected condition.
    // See http://www.protractortest.org/#/api?view=ProtractorExpectedConditions
     browser.wait(pec.visibilityOf(homepage.feedTitle), 20000); 
     expect(homepage.feedTitle.getText()).toContain('.....');
      expect(homepage.feedBody.getText()).toContain('.....');  
  });

@ saradha,

Merci beaucoup. Permettez-moi de mettre en œuvre de cette façon.

Narendra...!

Le 7 octobre 2016 à 15h52, Saradha [email protected] a écrit :

Je vois ci-dessus que vous avez return /thetestroom/.test(url); dans le code
dessus. C'était un exemple que j'ai donné à quelqu'un d'autre pour son URL dans un
réponse plus ancienne. S'il vous plaît changer 'thetestroom' ici en ce que sera votre URL
ressembler. Vous auriez dû avoir un temps d'attente ici au lieu d'angulaire
problème.
Voici le code que j'ai pour résoudre ce problème

homepage.myButton.click().then(function() {
browser.driver.wait(function() {
return browser.driver.getCurrentUrl().then(function(url) {
return url.includes('......'); // vérifie si la nouvelle URL contient ce que vous recherchez dans ...
}); // cela attend que l'url change pour ce qu'elle devrait être dans ....
}, 25000, "L'URL n'a pas changé").then(function() {
// après la modification de l'url, dans la nouvelle page, vérifiez ces
// pec est la condition attendue du rapporteur.
// Voir http://www.protractortest.org/#/api ?view=ProtractorExpectedConditions
browser.wait(pec.visibilityOf(homepage.feedTitle), 20000);
expect(homepage.feedTitle.getText()).toContain('.....');
expect(homepage.feedBody.getText()).toContain('.....');
});

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/angular/protractor/issues/1760#issuecomment-252345767 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza
.

@Saradha ,

Merci beaucoup pour vos commentaires.

J'obtiens l'erreur ci-dessous. S'il vous plaît des conseils si une solution de contournement. Merci.

en cours d'exécution : npm exécuter dev

Erreur : Impossible de trouver le module './internal/streams/BufferList'

Narendra...!

Le 17 octobre 2016 à 16h48, narendra Reddy narendra. [email protected] a écrit :

@ saradha,

Merci beaucoup. Permettez-moi de mettre en œuvre de cette façon.

Narendra...!

Le 7 octobre 2016 à 15h52, Saradha [email protected] a écrit :

Je vois ci-dessus que vous avez return /thetestroom/.test(url); dans le code
dessus. C'était un exemple que j'ai donné à quelqu'un d'autre pour son URL dans un
réponse plus ancienne. S'il vous plaît changer 'thetestroom' ici en ce que sera votre URL
ressembler. Vous auriez dû avoir un temps d'attente ici au lieu d'angulaire
problème.
Voici le code que j'ai pour résoudre ce problème

homepage.myButton.click().then(function() {
browser.driver.wait(function() {
return browser.driver.getCurrentUrl().then(function(url) {
return url.includes('......'); // vérifie si la nouvelle URL contient ce que vous recherchez dans ...
}); // cela attend que l'url change pour ce qu'elle devrait être dans ....
}, 25000, "L'URL n'a pas changé").then(function() {
// après la modification de l'url, dans la nouvelle page, vérifiez ces
// pec est la condition attendue du rapporteur.
// Voir http://www.protractortest.org/#/api ?view=ProtractorExpectedConditions
browser.wait(pec.visibilityOf(homepage.feedTitle), 20000);
expect(homepage.feedTitle.getText()).toContain('.....');
expect(homepage.feedBody.getText()).toContain('.....');
});

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/angular/protractor/issues/1760#issuecomment-252345767 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza
.

Quelque chose dans votre base de code. Ne ressemble pas à une erreur angulaire/de rapporteur
Je sais.

Envoyé de mon iPhone

Le 19 octobre 2016, à 19h54, narendra [email protected] a écrit :

@Saradha ,

Merci beaucoup pour vos commentaires.

J'obtiens l'erreur ci-dessous. S'il vous plaît des conseils si une solution de contournement. Merci.

en cours d'exécution : npm exécuter dev

Erreur : Impossible de trouver le module './internal/streams/BufferList'

Narendra...!

Le 17 octobre 2016 à 16h48, narendra Reddy narendra. [email protected] a écrit :

@ saradha,

Merci beaucoup. Permettez-moi de mettre en œuvre de cette façon.

Narendra...!

Le 7 octobre 2016 à 15h52, Saradha [email protected] a écrit :

Je vois ci-dessus que vous avez return /thetestroom/.test(url); dans le code
dessus. C'était un exemple que j'ai donné à quelqu'un d'autre pour son URL dans un
réponse plus ancienne. Veuillez changer 'thetestroom' ici quelle que soit votre URL
volonté
ressembler. Vous auriez dû avoir un temps d'attente ici au lieu d'angulaire
problème.
Voici le code que j'ai pour résoudre ce problème

homepage.myButton.click().then(function() {
browser.driver.wait(function() {
return browser.driver.getCurrentUrl().then(function(url) {
return url.includes('......'); // vérifie si la nouvelle URL a ce que vous êtes
à la recherche dans...
}); // cela attend que l'url change pour ce qu'elle devrait être dans ....
}, 25000, "L'URL n'a pas changé").then(function() {
// après la modification de l'url, dans la nouvelle page, vérifiez ces
// pec est la condition attendue du rapporteur.
// Voir
http://www.protractortest.org/#/api ?view=ProtractorExpectedConditions
browser.wait(pec.visibilityOf(homepage.feedTitle), 20000);
expect(homepage.feedTitle.getText()).toContain('.....');
expect(homepage.feedBody.getText()).toContain('.....');
});

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
< https://github.com/angular/protractor/issues/1760#issuecomment-252345767
,
ou couper le fil
<
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza

.

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/angular/protractor/issues/1760#issuecomment-254996166 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AKCDZXWuZX7dJ0R2V2sHgxKqwydQV8o3ks5q1tfngaJpZM4DYTza
.

Salut srajagopalan1712,

J'exécute un exemple sur le rapporteur obtenant l'erreur ci-dessous. Pourriez-vous s'il vous plaît des conseils. Merci

Erreur:

goog.global.setTimeout(function() { throw exception; }, 0);
^
Erreur en attendant que Protractor se synchronise avec la page : "[ng:test] http://errors.angularjs.org/1.4.7/ng/test "

voici mon code

describe('Mes tests d'applications', function() {

      browser.get('http://localhost:port/integrated/myWeb.html').then(function() {


    browser.wait(function() {
        return browser.getCurrentUrl().then(function(url) {
            return 'http://localhost:port/integrated/myWeb.html';

            element(by.model('ctrl.formData.emailAddress')).sendKeys('').clear();
            element(by.model('ctrl.formData.emailAddress')).sendKeys('[email protected]');
            element(by.model('ctrl.formData.emailAddress')).getAttribute('value').then(function (value) {
                expect(value).toEqual('[email protected]');
            });

        });
    }, 10000);
});

Merci à tous,

problème résolu par l'ajout de la balise ng-app dans la page html.

Je voyais la même erreur avec les tests Angular 5. C'est peut-être une évidence, mais je ne savais pas que vous deviez démarrer "ng serve" séparément avant d'exécuter vos tests e2e si vous souhaitez déboguer. Voici la discussion où j'ai trouvé la réponse :
https://github.com/angular/angular-cli/issues/4183

J'espère que cela aide quelqu'un !

Cette page vous a été utile?
0 / 5 - 0 notes