Mi imbatto in questo problema ogni volta che tento di attendere fino a quando un elemento DOM viene rimosso dall'albero DOM corrente sulla pagina Web che il test del goniometro sta testando. Ho già avuto un problema quando cerco di aspettare che un elemento DOM venga nascosto con questa bella tecnica offerta da user2912739 in un'altra discussione.Come aspettare quando un elemento viene rimosso dal DOM?
var el = element(by.css('.your-css-class'));
return browser.wait(protractor.until.elementIsNotVisible(el));
Questo funziona abbastanza bene. Tuttavia, quando si tratta di aspettare che un elemento venga rimosso dall'albero DOM sia .isDisplayed()
sia .isPresent()
o le righe precedenti NON sembrano funzionare. Il test continuerebbe a essere eseguito ma sembra che stia cercando di ottenere quell'elemento ma non ha mai avuto successo, quindi alla fine è scaduto in base al timeout che imposta il file di configurazione. Per esempio. questo è il registro.
timeout: scaduta dopo 30.000 msec attesa di specifiche per completare
Il caso d'uso di questo può essere abbastanza frequente ogni volta che avete a che fare con i test se un elemento viene rimosso dalla struttura DOM, per istanza, una modale che viene chiusa e rimossa dalla pagina quando l'utente fa clic sulle azioni che chiudono quell'elemento modale o su un elemento che si desidera "eliminare" in modo che non esista più nella pagina. Quindi, nel test, si desidera solo continuare l'esecuzione del test non appena viene rimosso dall'albero DOM.
Ho cercato attraverso il goniometro e l'API del driver Web, e sembra che non ci sia api che fa questo lavoro.
Sono nuovo di goniometro e questo è prima volta che ho visto come usare quello 'until'. no doc dice che è definito all'interno di 'goniometro' ... – llamerr