Ho un metodo che fa clic su un pulsante, tuttavia, quando viene eseguito, il selenio restituisce il risultato come cliccato con successo, quando, in realtà, il pulsante non è effettivamente cliccato. Se eseguo il test più volte, occasionalmente, verrà fatto clic come previsto. Ho il mio framework di test impostato come un'attesa implicita per circa 15 secondi, ho impostato un'attesa esplicita per questo elemento e vedo ancora lo stesso problema. Quando faccio <element>.isDisplayed()
, l'elemento è sempre trovato. Ho inserito il file .click in un ciclo while per fare clic su di esso un paio di volte che funziona la maggior parte del tempo, tuttavia, a volte il test fallisce. È possibile avere un'istruzione if per verificare se un elemento è effettivamente visualizzato prima di fare clic sul pulsante?Il selenio fa clic su un elemento 'con successo', eppure non è effettivamente cliccato
ho provato:
if(!element.isDisplayed){
element.click
}
Ecco il pulsante che sto avendo problemi con:
<button class="notkoButton listNew">
<div class="l6e iconAdd">New List</div>
</button>
Ecco il mio metodo:
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;
}
Non si dovrebbe fare 'if (! Element.isDisplayed) {element.click};'. – AGill
Possibile duplicato di [webdriver - wait for element] (http://stackoverflow.com/questions/11736027/webdriver-wait-for-element) – JeffC