Mam metodę, która klika przycisk, jednak po uruchomieniu selen powraca do wyniku po kliknięciu z powodzeniem, kiedy w rzeczywistości przycisk nie jest kliknięty. Jeśli przeprowadzę test kilka razy, okazyjnie, kliknięcie zostanie wykonane zgodnie z oczekiwaniami. Moja struktura testowa jest ustawiona jako domniemane oczekiwanie na około 15 sekund. Ustawiłem wyraźne oczekiwanie na ten element i nadal widzę ten sam problem. Kiedy robię <element>.isDisplayed()
, element jest zawsze znaleziony. Umieściłem .click w pętli while, aby kliknąć go kilka razy, co działa przez większość czasu, jednak czasami zdarza się, że test się nie powiódł. Czy możliwe jest posiadanie instrukcji if w celu sprawdzenia, czy element jest rzeczywiście wyświetlany przed kliknięciem przycisku?Selen kliknie element "pomyślnie", ale tak naprawdę nie jest klikany
Próbowałem:
if(!element.isDisplayed){
element.click
}
Oto przycisk Mam problemy z:
<button class="notkoButton listNew">
<div class="l6e iconAdd">New List</div>
</button>
Oto moja metoda:
public marketing_lists_page navigateToNewListPage() throws Throwable {
try {
int x = 0;
while(x < 5) {
newListBtn.click();
x++;
}
//newListPageHeader.isDisplayed();
} catch (NoSuchElementException e){
logs.errorDetails("Could not navigate to New List Page");
Assert.fail();
}
return this;
}
Nie powinieneś wykonywać 'if (! Element.isDisplayed) {element.click};'. – AGill
Możliwy duplikat [webdriver - czekaj na element] (http://stackoverflow.com/questions/11736027/webdriver-wait-for-element) – JeffC