Две проблемы в вашем коде, попробуйте еще раз после исправления их следующим образом:
1) вы поставили browser.ignoreSynchronization = true
позади return
, это не имеет смысла.
Внутри browser.get()
, он обнаружит, что начальная страница является угловой, за исключением того, чтобы поставить browser.ignoreSynchronization = true
перед browser.get()
, чтобы сказать транспортиру, что начальная страница не угловая.
Given(/^User lands on Login$/, function () {
var appUrl = properties.get('appUrl');
browser.ignoreSynchronization = true;
return browser.driver.get('appUrl');
});
2) Вы должны возвращать объект, подобный обещанию, для каждого определения шага, в противном случае бегун приостановит определение этого шага до истечения времени ожидания.
waitForAngular()
эквивалентен browser.ignoreSynchronization = false;
, первый введен в более высокую версию транспортира, позже может работать транспортир более низкой и более высокой версии.
Почему вы не используете Protractor API xph.get('Login').click()
, а используете Javascript DOM API
для нажатия кнопки Submit
.
When(/^User Clicks Submit$/, function(){
return element(<locator of Submit button>).click().then(function(){
return browser.ignoreSynchronization = false;
})
});