Winkelmesser warte auf isElementPresent und klicke auf wartendes Element scheitert

7

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

    
Hans Poppe 19.01.2015, 13:08
quelle

1 Antwort

20

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()

ist

Ich habe eine Funktion erstellt, die auf die 2 Eigenschaften wartet:

%Vor%     
Hans Poppe 20.01.2015, 12:45
quelle