Ich habe ein Problem mit meinen End2end-Tests. Manchmal passieren sie ohne Probleme, aber zwei Drittel der Zeit, die sie nicht bestehen. Ich benutze Winkelmesser mit folgendem Code:
%Vor%HTML (beachten Sie, dass dieses Element sichtbar ist und nicht von ng-if oder ng-show verdeckt wird):
%Vor%Fehler, den ich erhalte:
E2E: Admin-Dashboard löschen Exporte erstellen Export Nachricht: NoSuchElementError: Kein Element gefunden mit locator: By.id ("export")
Ich habe herausgefunden, dass das Problem im Unterschied liegt zwischen:
element
isPresent()
und isDisplayed()
Wenn Sie also nur auf isPresent()
warten, könnte es in html gefunden, aber noch nicht angezeigt werden.
tricky, wenn Sie nur elm.isDisplayed()
verwenden möchten, stürzt es ab, wenn das Element noch nicht existiert. Sie müssen also zuerst prüfen, ob isPresent()
vor isDisplayed()
Ich habe eine Funktion erstellt, die auf die 2 Eigenschaften wartet:
%Vor%Tags und Links angularjs protractor e2e-testing