Sono un nuovo a goniometro, e sto cercando di testare evento popover, Ecco il mio codice:Come spiegare utilizzando browser.sleep in goniometro
describe('popover directive', function() {
var buttons= element.all(by.tagName('button'));
it('should show the popover title by clicking', function() {
var popTitle="testTitle";
var popContent="testContent";
element(by.model('title')).clear().sendKeys(popTitle);
element(by.model('content')).clear().sendKeys(popContent).then(function(){
buttons.get(0).click().then(function(){
browser.sleep(1000);
expect(element(by.className('popover-title')).getText()).toMatch(popTitle);
expect(element(by.className('popover-content')).getText()).toMatch(popContent);
});
});
buttons.get(0).click();
browser.sleep(1000);
expect(element(by.css('[class="popover fade top in"]')).isPresent()).toBe(false);
});
});
1. Se non lo faccio aggiungere il codice tempo di ritardo come browser.sleep()
, il test fallirà e mostrare un messaggio:
NoSuchElementError: No element found using locator: By.className('popover-title')
È che possibile non aggiungere il codice tempo di ritardo ... come browser.sleep()
? Se ciò è impossibile, come avere senso impostare bene l'orario di sonno? Questo ha qualche connessione con le animazioni CSS?
2. L'utilizzo di browser.waitForAngular()
o click().then(function(){...})
anziché browser.sleep()
sembra non funzionare, riceverà lo stesso messaggio di errore.
Sarebbe bello se qualcuno potesse rispondere a queste domande, grazie mille.
grazie @hankduan. Questa risposta mi aiuta a capirlo finalmente, e non vedo l'ora di vedere Goniometro 1.7! – Kiry
Ho usato sopra uno ma ho notato che l'elemento non è presente nel blocco di attesa del codice. Come controllare se l'animazione è stata caricata? – EnugulaS