Я работаю над своим первым набором тестов Cucumber в приложении Meteor, но не могу заставить работать шаг входа в систему. В моем приложении используется настраиваемый плагин входа в систему, который я написал специально для этого проекта. Вот шаг, который я сейчас определил с выводом отладки:
this.Given(/^I am logged in as a\/an "([^"]*)"$/, function(roleName, callback) {
this.browser
.url(url.resolve(process.env.HOST, '/'))
.waitForExist('#appSignIn');
this.browser.getHTML('#appSignIn', function(err, html) {
if (err) {
console.log('err: ', err);
} else {
console.log('link HTML: ', html);
}
});
this.browser.getCssProperty('#appSignIn', 'display', function(err, value) {
console.log('link HTML display: ', value);
});
browser.isVisible('#appSignIn', function(err, isVisible) {
console.log('#appSignIn', isVisible);
});
this.browser
.waitForVisible('#appSignIn')
.click('#appSignIn')
.waitForExist('#username')
.waitForVisible('#username')
.setValue('#username', 'test' + roleName)
.setValue('#password', 'test' + roleName)
.leftClick('#signin')
.waitForExist('#appSignOut')
.waitForVisible('#appSignOut')
.call(callback);
});
Что я вижу в этих журналах, так это:
Scenario: # features/my.feature:11
Given The server data has been reset # features/my.feature:12
link HTML: <a id="appSignIn" href="/signin">Sign In</a>
link HTML display: { property: 'display',
value: 'block',
parsed: { type: 'ident', string: 'block' } }
#appSignIn false
And I am logged in as a/an "ADMIN" # features/my.feature:13
RuntimeError: RuntimeError
(ScriptTimeout:28) A script did not complete before its timeout expired.
Problem: Timed out waiting for asyncrhonous script result after 511 ms
По сути, я вижу вывод HTML, поэтому знаю, что элемент есть. Я вижу, что для CSS установлено значение display: block
, но затем WebDriver сообщает, что элемент не виден с помощью isVisible, и аналогичным образом истекает время ожидания с вызовом waitForVisible
. ссылка «Войти» является частью сворачиваемой панели навигации Bootstrap, расположенной в правом верхнем углу.
this.browser
? - person Gobliins   schedule 27.09.2017