Mam problem z tym, że stażysta 2 musi czekać na obecność elementów. W aplikacji Intern 1 używam wait()
do ustawiania okresów czasu, w których strona może oczekiwać na obecność elementu po wykonaniu czynności przez użytkownika. Z Intern 2 wydaje się być setFindTimeout()
, co zawsze powinno oznaczać, że metoda find()
musi trochę poczekać, aż element będzie obecny. Ustawiłem setFindTimeout()
i próbowałem użyć pollUntil
do obsługi tych oczekiwań, ale testy nadal nie działają z błędem "element niewidoczny".setFindTimeout i pollUntil z programem Intern dla elementów, które nie są widoczne przy ładowaniu strony początkowej
Oto przykładowy test, który wykorzystuje te same wymagania co moje prawdziwe testy i poszukuje identyfikatora elementu, który pojawia się 5 sekund po załadowaniu tego page.
define([
'intern!object',
'intern/chai!assert',
'require',
'tests/util',
'intern/dojo/node!leadfoot/Command',
'intern/dojo/node!leadfoot/Session',
'intern/dojo/node!leadfoot/helpers/pollUntil'
], function (registerSuite, assert, require, util, Command, Session, pollUntil) {
registerSuite([
{
name: 'testing_find_by_wait',
test_create_form_on_web: function() {
console.log('Create a form with account, number, number and formula fields')
return this.remote
.setFindTimeout(10000)
.setWindowSize(1280, 960)
.get("http://www.kgstew.com/waittest.html")
.then(pollUntil('return document.getElementById("demo")', 10000))
.findById('demo')
.click()
.end()
}
}
]);
});
Jaki jest faktyczny błąd i z której linii? –
Błąd to element "ElementNotVisible: [POST http://10.0.1.34:4444/wd/hub/session/204fe805-74f6-401d-a22f-5afd976b547c/element/9/click] element niewidoczny" na linii 29 – kgstew
Kiedy przebiegi testowe nie wydaje się, że czekają co najmniej 10 sekund, zanim stwierdzi, że element nie jest widoczny. Rozumiem, że właśnie to powinno robić 'setFindTimeout()'. – kgstew