Ho un problema con i miei test end2end. A volte passano senza problemi ma per due terzi del tempo non riescono. Io uso goniometro con seguente codice:Il goniometro attende isElementPresent e fa clic sull'elemento atteso non riesce
describe('Admin dashboard delete Exports', function() {
it('create export', function() {
browser.get(e2GUrl + '/admin/studies');
ptor.wait(function() {
return ptor.isElementPresent(by.id('export'));
}, 5000, 'wait for study list page to be loaded.');
element(by.id('export')).click();
});
HTML (nota che questo elemento è visibile e non nascosto da NG-IF o ng-spettacolo):
<ul>
<li data-ng-repeat="study in studies">
<div data-ng-controller="ExportController" class="btn-group">
<a id="export" class="btn btn-small dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fw-icon fw-icon-cloud-download"></i>Export
<span class="caret"></span>
</a>
<ul class="dropdown-menu export-list">
<li class="excel"><a data-ng-click="excel(study.Code)">Export to Excel</a>
</li>
</ul>
</div>
</li>
</ul>
errore ricevo:
E2E: Admin dashboard delete Exports create export Message: NoSuchElementError: No element found using locator: By.id("export")
Se commento l'azione click funziona benissimo ogni volta –
Che cosa succede se si aggiunge 'del browser .waitForAngular(); 'dopo la chiamata' get() '? – alecxe
Doens't sembra funzionare ancora non riesce a volte –