Protractor: Fehlgeschlagen: Fehler beim Warten auf die Synchronisierung von Winkelmesser mit der Seite: "Winkel konnte im Fenster nicht gefunden werden"

Erstellt am 28. Jan. 2015  ·  52Kommentare  ·  Quelle: angular/protractor

Nachdem ich Protaractor auf 1.6.1, Webdriver, Chromedriver, Jasmin auf 2.0 aktualisiert habe, habe ich beim Versuch, meine Tests auszuführen, Folgendes:

"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"

Hast du eine Idee, warum Angular nicht gefunden werden kann? oder wie soll ich das beheben?

needs investigation

Alle 52 Kommentare

Ich hatte tatsächlich genau das gleiche Problem unter 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 ...

Danach bleibt die geöffnete Chrome-Instanz im hängenden Zustand geöffnet.

Ich habe heute das gleiche Problem unter Mac OS. Nachdem alle Terminals und Browser geschlossen und dieser Fehler wieder geöffnet wurde (bisher zumindest).

Ich erlebe dies auch mit der Version 2.0.0 .

sogar ich stehe vor dem gleichen Problem.

Am Mi, 1. April 2015 um 11:03 Uhr, Walter H. Roman [email protected]
schrieb:

Ich erlebe dies auch mit Version 2.0.0.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/angular/protractor/issues/1760#issuecomment -88355894.

ich auch

Das gleiche hier, warum ist dieses Thema geschlossen?

Ein Downgrade auf 1.8.0 hat dieses Problem behoben.

Rufen Sie browser.get() in Ihrer onPrepare Funktion auf? Siehe #1978

Ich verwende browser.get(), aber ich glaube nicht, dass ich onPrepare verwende. Ich führe dieses Beispiel für Angular todomvc aus - https://github.com/mknabe/angular-testing-starter/blob/ master/test/e2e/scenarios.js

stoßen...

wie @ cm325 Ich

STOSSEN!

gleiches Problem nach dem Upgrade auf v2.1.0, musste auf 1.8.0 heruntergestuft werden, um das Problem zu beheben

Habe das gleiche Problem auch unter OSX

Bearbeitet - Behoben

Also habe ich dies behoben, indem ich den folgenden Code in einem meiner Seitenkonstruktoren geändert habe:

this.currentUrl =  browser.getCurrentUrl();

Zu

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

Meine Tests liefen gut und ohne Grund wurde dies angezeigt. Ich habe keine Änderungen am System oder Code vorgenommen, um dies zu verursachen. Ich kann nicht downgraden, ich brauche 2.0. Ich habe den letzten Workaround für currentUrl gemacht und das hilft auch nicht. Jede Hilfe wird großartig sein..

Das gleiche habe ich am Montag erlebt. Letzten Freitag war alles in Ordnung, dann kann ich ab Montag keinen Test durchführen, da ich beim Laden der Login-Seite, die eine Nicht-Angular-Seite ist, den gleichen Fehler erhalte. Versucht, den Winkelmesser auf 1.8.0 und 1.4.0 herunterzustufen, nichts, versucht, das Framework auf 'jasmine2' zu ändern, wieder nichts, ich verwende browser.get in onPrepare nicht. Ich habe keine Ahnung mehr, was ich versuchen kann. Irgendwelche anderen Vorschläge, was kann ich ändern oder versuchen? Danke!

Das gleiche Problem habe ich hier auch. : faust:bump für mehr Aufmerksamkeit.
Ein Downgrade von 2.1.0 auf 1.8.0 hat das Problem nicht sofort behoben...

Ich habe das gleiche Problem. Ich habe gerade einen Winkelmesser mit Gurken-Js, Chai und Chai-wie versprochen eingerichtet. Ich habe zwei sehr grundlegende Funktionen, die mit grundlegenden Beispielschritten getestet werden. Ich verwende auch ES6 vortranspiliert und mit SystemJS geladen. Ich kann nicht herausfinden, wie ich dieses Problem konsequent reproduzieren kann. Obwohl ich es jetzt tun kann, indem ich einen meiner spezifischen Schritte ändere, um absichtlich zu scheitern. Ich bin mir nicht sicher, ob es zuerst/zuletzt ausgeführt wird oder warum es dieses bestimmte sein muss.

Beide Step-Wrapper sehen grundsätzlich so aus:

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')
        ]);
    });
};

Hallo Leute! Wir haben das Problem in unserem Projekt gelöst. Aber leider weiß ich nicht genau, ob das Problem mit der Winkelmesser- und Jasmin-Reporter-Version oder mit etwas anderem lag. Irgendwann im Test haben wir geschrieben

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

und einige mehr davon, und diese Wartezeiten sind das Problem gelöst.
Ich weiß, dass es nicht das Beste ist, so zu lösen, aber es funktioniert im Moment und das war der erste Punkt, damit es funktioniert.

@Yok86 Habe gerade deinen Fix ausprobiert und es hat funktioniert! :+1:

Dies ist auch aufgeräumter als unser Workaround. Wir haben ein browser.debugger() am Ende unseres onPrepare Handlers geworfen und das schien das Timing-Problem im Spiel zu beheben, aber ich habe keine Ahnung warum. Das ist viel sauberer.

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

Habe die gleichen Probleme:

Fehlgeschlagen: Fehler beim Warten auf die Synchronisierung des Winkelmessers mit der Seite: "[ng:test] kein Injektor für Elementargument für getTestability\ nhttp://errors.angularjs.org/1.4.5/ng/test gefunden "
Stapel:
Fehler: Fehlgeschlagen: Fehler beim Warten auf die Synchronisierung des Winkelmessers mit der Seite: "[ng:test] kein Injektor für Elementargument für getTestability\ nhttp://errors.angularjs.org/1.4.5/ng/test gefunden "
im Stack (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:1482:17)
at buildExpectationResult (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:1452:14)
at Spec.Env.expectationResultFactory (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:583:18)
at Spec.addExpectationResult (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:324:34)
at Suite.addExpectationResult (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:2123:38)
at Env.fail (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:894:25)
at Function.next.fail (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:1806:19)
unter c:\Program Filesnodejsnode_modules\protractornode_modules\jasminewd2index.js:101:16
at [object Object].promise.ControlFlow.runInFrame_ (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\webdriver\promise.js:1877:20)
at [object Object].promise.Callback_.goog.defineClass.notify (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\webdriver\promise.js:2464:25)
at [object Object].promise.Promise.notify_ (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\webdriver\promise.js:563:12)
bei Array.forEach (nativ)
unter Object.goog.array.forEach (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\goog\array\array.js:203:43)
at [object Object].promise.Promise.notifyAll_ (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\webdriver\promise.js:552:16)
bei goog.async.run.processWorkQueue (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\goog\async\run.js:125:21)
at process._tickCallback (node.js:356:9)

Gleicher Fehler hier unter OSX, wenn mit Phantomjs ausgeführt wird. Funktioniert einwandfrei in Chrome

Fehler beim Warten auf die Synchronisierung des Winkelmessers mit der Seite: "[ng:test] http://errors.angularjs.org/1.4.3/ng/test "

Hatte das gleiche Problem hier, es hat gut funktioniert, aber jetzt funktioniert es nicht mehr

ich habe auch dieses Problem

+1 Letzten Freitag hat gut funktioniert, ohne Grund funktioniert es jetzt nicht

Das ist schwierig. Kann jemand daran arbeiten, einen isolierten und reproduzierbaren Testfall zu erhalten? Ich konnte dies alleine nicht zuverlässig reproduzieren (obwohl ich ehrlich gesagt noch nicht viel gegraben habe).

Um einige der Beiträge hier zusammenzufassen, ist der Fehler vorhanden mit:

  • Version: Winkelmesser 2.x.x (neben der Ausgabe des OP in 1.6.x )
  • Frameworks: Jasmine 2
  • Browser: Chrome und PhantomJS
  • Plattformen: OSX und Windows
  • Angular/Non-Angular-Seiten: ???

Was leider ziemlich breit ist :(

@jessiahr @navarrojp @AndreasMaier Wären Sie daran interessiert, bei der Gitterraum zur Koordination nutzen.

Gleicher Fehler:

  • Version: Winkelmesser 2.5.1
  • Rahmen: Jasmin 2
  • Browser: Chrome
  • Plattform: OSX
  • Eckige Seite

@mrzmyr danke für die Details. Wäre es möglich, eine Konfiguration und eine isolierte Beispielspezifikation zu erhalten, in der Sie dies reproduzieren können?

@NickTomlin Ich hätte gerne eine Beispielspezifikation oder ähnliches. Es war mir nicht einmal möglich, es in der gleichen Umgebung zu reproduzieren. Sieht für mich nach einem Timing-Problem aus.

Ich habe das gleiche Problem, in meiner Konfiguration habe ich ein onPrepare und diese Zeile ist drin.
browser.driver.get(targetUrl);

Dieser Fehler tritt in etwa 40 % der Fälle auf. Ich weiß nicht warum.

Jasmin 2.XX

Ich habe das gleiche Problem wie @mrzmyr :

Version: Neueste Version von Winkelmesser
Rahmen: Jasmin 2
Browser: Chrome
Plattform: OSX
Eckige Seite

Ich werde versuchen, ein Downgrade auf 1.8 durchzuführen, um zu sehen, ob das Problem damit behoben ist. Es ist seltsam, da die Tests gestern liefen.

Es gibt einen reproduzierbaren Testfall, indem Sie dem Tutorial hier folgen. Der Konfigurations-/Testfall, den ich verwendet habe, dient hier als Referenz. Das Tutorial ist nicht das genaueste, aber es reproduziert das Problem für mich.

[email protected]
Plattform: OSX
Eckig
Framework: Jasmine2
Browser: Chrome

Diese Fehlermeldung wird normalerweise dadurch verursacht, dass eine Art Navigation mit etwas anderem als browser.get . browser.get , zusätzlich zum Ändern der URL, wartet auf das Laden von angle und bootet Protractor.

@61ue5peed Ihr Problem ist, dass browser.driver.get nicht die gleiche Synchronisation und das gleiche Bootstrapping bietet. In deiner Sache würde ich einfach von browser.driver.get zu browser.get wechseln

@jennapederson In Ihrem Fall #becomeAwesome ein Link ist, und indem Sie darauf klicken, navigieren Sie ohne Synchronisierung und Bootstrapping. In Fällen wie Ihrem würde ich einfach browser.refresh hinzufügen, nachdem Sie auf den Link geklickt haben.

Andere Berichte scheinen ähnlich zu sein, daher werde ich dieses Thema schließen. Wenn Leute dieses Problem mit einem Test auslösen können, der ausschließlich auf borwser.get für die Navigation basiert, schlage ich vor, dass sie ein neues Problem eröffnen

Dieses Problem ist in Version 3.3.1 noch reproduzierbar.
Ich verwende browser.get, um zu meiner Homepage zu navigieren, und es schlägt beim ersten Mal fehl.

Nur um Sie alle wissen zu lassen -> in meinem Fall war das Problem ein externes Angular-Modul, das die Facebook-API lädt....das Facebook-Javascript griff auf die Dom-Struktur innerhalb der Angular-App zu und versuchte, sie zu ändern. Ich musste das Modul ändern, um zu vermeiden, dass das Facebook-Skript beim Testen geladen wird

Ich habe dieses Problem auch. Nicht oft, aber genug, um ein Problem zu sein. Es ist eine normale Angular-Seite, nichts Äußeres oder Nicht-Angulares. Der Test besteht die meiste Zeit, aber manchmal taucht dieser Fehler auf und schlägt fehl. Es scheint, dass es nicht lange genug wartet, bis ein Modal geladen wird. Es ist immer der gleiche Schritt/Test.

Winkelmesser: 3.2.2
Gurken-Winkelmesser: 0.4.0

@drcjones
element(by.css(selector)).isPresent().then(Funktion (Ergebnis) {
wenn (Ergebnis) {
element(by.css(selektor)).click();
}
}, 20000);

Hi,

Ich stoße auf das gleiche Problem. Ich versuche, den Titel des Browsers zu erhalten. Mache ich etwas falsch?

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

pp/ : eckig nie zur Verfügung gestellt LebenslaufBootstrap
Stapel:
Fehler: Angular konnte auf der Seite http://thetestroom.com/jswebap nicht gefunden werden
p/ : eckig nie bereitgestellt

` vorEach(funktion() {

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

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

Jedes Feedback wird gut sein.

Ich sehe Sie nicht auf Angular warten oder auf eine bestimmte URL-Änderung im Browser oder ein Element warten, bevor Sie den Titel erhalten. Sehen Sie, ob dies hilft.

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

Wir haben dieses Problem zeitweise in IE9 gesehen. Ein Upgrade von 3.2.1 auf 3.3.0 hat die Fehler behoben.

Das gleiche hier - ein Upgrade von 3.2.1 auf 3.3.0 hat dies für uns behoben

Ich habe den gleichen Fehler. Chrom verwenden. alle Vorschläge sind großartig. Vielen Dank

config.js

exports.config = {
directConnect: wahr,
allScriptsTimeout: 1000,

// An die Webdriver-Instanz zu übergebende Fähigkeiten.
Fähigkeiten: {
'browserName': 'chrom'
// 'browserName': 'firefox'
},

// Zu verwendendes Framework. Jasmin wird empfohlen.
Rahmen: 'Jasmin',

// Spezifikationsmuster sind relativ zum aktuellen Arbeitsverzeichnis, wenn
// Winkelmesser wird aufgerufen.
// Spezifikationen: ['example_spec.js'],
Spezifikationen: ['*_spec.js'],

Selen-Adresse: ' http://localhost :8080/McacApp/index.html',
baseUrl: ' http://localhost :8080/McacApp/index.html',

// Winkelmesser-conf.js
rootElement: '.mcacApp',
// Optionen, die an Jasmine übergeben werden sollen.
jasmineNodeOpts: {
defaultTimeoutInterval: 30000,

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

}

};
example.spec.js

describe('Schnelltest', 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 : Könnten Sie bitte Ihr Beispiel für dieses Problem für die E-Mail- und Kontaktvalidierung bereitstellen.

Fehler: Fehlgeschlagen: Fehler beim Warten auf die Synchronisierung des Winkelmessers mit der Seite: "[ng:test] http://errors.angularjs.org/1.4.7/ng/test "

Danke, sehr angenehm.

@reddynr Ich sehe nicht, dass Sie auf ein Element oder etwas warten, nachdem Sie die Seite .get() aufgerufen haben. Du solltest. Siehe Beispiele oben in diesem Thread

In deinem Fall sollte es so sein
browser.get(..).then(function() { browser.driver.wait(browser.driver.isElementPresent(by.model('ctrl.formData.emailAddress'))); // all remaining sendKeys, submit and assert code here. });

@srajagopalan1712 Danke für das Feedback. bekomme aber immer noch den gleichen Fehler. hier ist meine Umsetzung.

Vielen Dank, sehr dankbar, wenn irgendwelche Vorschläge.

describe('mcacapp', function() {
it('Testen der E-Mail-Funktionalität', function()
{
browser.get('http://localhost:8080/McacApp/index.html').then(function() {
browser.wait(funktion() {
return browser.getCurrentUrl().then(function(url) {
/thetestroom/.test(url) zurückgeben;
});
}, 10000);

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

Anstatt darauf zu warten, dass sich die URL ändert, warten Sie, bis auch das Element emailAddress vorhanden ist. Versuchen Sie es auch mit browser.driver.wait und browser.driver.getCurrentUrl. Verschieben Sie auch den gesamten anderen Testcode in den get()...{}-Block.

@srajagopalan1712 Danke für das Feedback. Bekomme aber immer noch den gleichen Fehler. Könnten Sie bitte ein funktionierendes Beispiel bereitstellen, wäre sehr hilfreich.

Danke vielmals.

Ich sehe oben, dass Sie im obigen Code return /thetestroom/.test(url); . Das war ein Beispiel, das ich in einer älteren Antwort für eine andere Person für ihre URL angegeben habe. Bitte ändern Sie 'thetestroom' hier so, wie Ihre URL aussehen soll. Du hättest hier draußen warten sollen, anstatt ein eckiges Problem.
Hier ist der Code, den ich brauche, um dieses Problem zu lösen

 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('.....');  
  });

@sarada,

Ich danke dir sehr. Lassen Sie mich auf diese Weise implementieren.

Narendra...!

Am 7. Oktober 2016 um 15:52 schrieb Saradha [email protected] :

Ich sehe oben, dass Sie /thetestroom/.test(url); im Code
Oben. Das war ein Beispiel, das ich für jemand anderen für seine URL in an gegeben habe
ältere Antwort. Bitte ändern Sie 'thetestroom' hier auf eine beliebige URL
aussehen wie. Du hättest hier draußen warten sollen, anstatt eckig
Ausgabe.
Hier ist der Code, den ich brauche, um dieses Problem zu lösen

homepage.myButton.click().then(function() {
browser.driver.wait(function() {
return browser.driver.getCurrentUrl().then(function(url) {
return url.includes('......'); // prüft, ob die neue URL das Gesuchte enthält ...
}); // dies wartet, bis sich die URL zu dem ändert, was sie sein sollte ....
}, 25000, "URL hat sich nicht geändert").then(function() {
// nachdem die URL geändert wurde, auf der neuen Seite diese überprüfen
// pec ist der erwartete Zustand des Winkelmessers.
// Siehe http://www.protractortest.org/#/api ?view=ProtractorExpectedConditions
browser.wait(pec.visibilityOf(homepage.feedTitle), 20000);
Expect(homepage.feedTitle.getText()).toContain('.....');
Expect(homepage.feedBody.getText()).toContain('.....');
});


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/angular/protractor/issues/1760#issuecomment -252345767,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza
.

@Saradha ,

Vielen Dank für Rückmeldungen.

Ich erhalte unten den Fehler. Bitte beraten Sie, wenn eine Problemumgehung. Dankeschön.

läuft: npm run dev

Fehler: Kann Modul './internal/streams/BufferList' nicht finden

Narendra...!

Am 17. Oktober 2016 um 16:48 Uhr, narendra Reddy narendra. [email protected] schrieb:

@sarada,

Ich danke dir sehr. Lassen Sie mich auf diese Weise implementieren.

Narendra...!

Am 7. Oktober 2016 um 15:52 schrieb Saradha [email protected] :

Ich sehe oben, dass Sie /thetestroom/.test(url); im Code
Oben. Das war ein Beispiel, das ich für jemand anderen für seine URL in an gegeben habe
ältere Antwort. Bitte ändern Sie 'thetestroom' hier auf eine beliebige URL
aussehen wie. Du hättest hier draußen warten sollen, anstatt eckig
Ausgabe.
Hier ist der Code, den ich brauche, um dieses Problem zu lösen

homepage.myButton.click().then(function() {
browser.driver.wait(function() {
return browser.driver.getCurrentUrl().then(function(url) {
return url.includes('......'); // prüft, ob die neue URL das Gesuchte enthält ...
}); // dies wartet, bis sich die URL zu dem ändert, was sie sein sollte ....
}, 25000, "URL hat sich nicht geändert").then(function() {
// nachdem die URL geändert wurde, auf der neuen Seite diese überprüfen
// pec ist der erwartete Zustand des Winkelmessers.
// Siehe http://www.protractortest.org/#/api ?view=ProtractorExpectedConditions
browser.wait(pec.visibilityOf(homepage.feedTitle), 20000);
Expect(homepage.feedTitle.getText()).toContain('.....');
Expect(homepage.feedBody.getText()).toContain('.....');
});


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/angular/protractor/issues/1760#issuecomment -252345767,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza
.

Etwas in Ihrer Codebasis. Sieht nicht nach einem Winkel-/Winkelfehler aus
Ich weiß von.

von meinem Iphone gesendet

Am 19. Oktober 2016 um 19:54 Uhr schrieb narendra [email protected] :

@Saradha ,

Vielen Dank für Rückmeldungen.

Ich erhalte unten den Fehler. Bitte beraten Sie, wenn eine Problemumgehung. Dankeschön.

läuft: npm run dev

Fehler: Kann Modul './internal/streams/BufferList' nicht finden

Narendra...!

Am 17. Oktober 2016 um 16:48 Uhr, narendra Reddy narendra. [email protected] schrieb:

@sarada,

Ich danke dir sehr. Lassen Sie mich auf diese Weise implementieren.

Narendra...!

Am 7. Oktober 2016 um 15:52 schrieb Saradha [email protected] :

Ich sehe oben, dass Sie /thetestroom/.test(url); im Code
Oben. Das war ein Beispiel, das ich für jemand anderen für seine URL in an gegeben habe
ältere Antwort. Bitte ändern Sie 'thetestroom' hier auf Ihre URL
Wille
aussehen wie. Du hättest hier draußen warten sollen, anstatt eckig
Ausgabe.
Hier ist der Code, den ich brauche, um dieses Problem zu lösen

homepage.myButton.click().then(function() {
browser.driver.wait(function() {
return browser.driver.getCurrentUrl().then(function(url) {
return url.includes('......'); // prüft, ob die neue URL das hat, was Sie sind
Suche nach in...
}); // dies wartet, bis sich die URL zu dem ändert, was sie sein sollte ....
}, 25000, "URL hat sich nicht geändert").then(function() {
// nachdem die URL geändert wurde, auf der neuen Seite diese überprüfen
// pec ist der erwartete Zustand des Winkelmessers.
// Sehen
http://www.protractortest.org/#/api ?view=ProtractorExpectedConditions
browser.wait(pec.visibilityOf(homepage.feedTitle), 20000);
Expect(homepage.feedTitle.getText()).toContain('.....');
Expect(homepage.feedBody.getText()).toContain('.....');
});


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
< https://github.com/angular/protractor/issues/1760#issuecomment -252345767
,
oder den Thread stumm schalten
<
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza

.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/angular/protractor/issues/1760#issuecomment -254996166,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AKCDZXWuZX7dJ0R2V2sHgxKqwydQV8o3ks5q1tfngaJpZM4DYTza
.

Hallo srajagopalan1712,

Ich führe ein Beispiel für den Winkelmesser aus, der den Fehler unterschreitet. Könnten Sie bitte Rat geben. Dankeschön

Error:

goog.global.setTimeout(function() { Ausnahme auslösen;}, 0);
^
Fehler beim Warten auf die Synchronisierung des Winkelmessers mit der Seite: "[ng:test] http://errors.angularjs.org/1.4.7/ng/test "

hier ist mein code

describe('Meine App testen', 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);
});

Danke euch allen,

Problem durch hinzugefügtes ng-app-Tag in der HTML-Seite gelöst.

Ich habe den gleichen Fehler beim Testen von Angular 5 gesehen. Vielleicht ist dies das Offensichtliche, aber ich wusste nicht, dass Sie "ng serve" separat starten müssen, bevor Sie Ihre e2e-Tests ausführen, wenn Sie debuggen möchten. Hier ist die Diskussion, in der ich die Antwort gefunden habe:
https://github.com/angular/angular-cli/issues/4183

Hoffe das hilft jemandem!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen