У меня есть угловая страница, которая показывает или скрывает страну dropDownList, основанную на значении radioButton. Если rb истинно, тогда ddl скрывается, а если ddl ложно, отображается ddl. Это делается непосредственно в HTML-документе ddl, добавив в тег select следующий атрибут: ng-show="!vm.inscriptor.isLocalCountry"
.Испытание преграды с участием ng-show
Все работает хорошо, как и ожидалось, на следующий тест транспортир, кроме:
it(testNumber++ + " ddl de países debería estar oculto", function() {
pages.register.rbdLocalCountryTrue.click();
expect(pages.register.ddlCountries.isPresent()).toBeTruthy();
expect(pages.register.ddlCountries.isDisplayed()).toBeFalsy();
});
Как и следовало ожидать, когда переключатель для истинного значения нажата, то DDL получает скрыт, однако «isDisplayed» ожидают броски следующее сообщение об ошибке:
Expected true to be falsy.
Единственная причина, я могу думать о том, что ожидать утверждение выполняется до завершения нажмите ОБРАБОТКА. Я попытался реорганизовать испытание на следующее:
it(testNumber++ + " ddl de países debería estar oculto", function() {
pages.register.rbdLocalCountryTrue.click().then(function() {
expect(pages.register.ddlCountries.isPresent()).toBeTruthy();
expect(pages.register.ddlCountries.isDisplayed()).toBeFalsy();
});
});
, но я все равно получаю случайные результаты с ожиданием.
Если я добавлю browser.sleep (5000), результаты ожиданий будут отображаться правильно, но везде, где я читал, говорится, что browser.sleep - последнее средство.
Есть ли другой способ сказать транспортиру, чтобы ждать завершения обработки? Любые другие предложения?
Thx
Спасибо за ваш ответ, но не должен» t «click()» позаботится об ожидании до обработки угловых отделок? Почему мне нужно включить условие ожидания? – aplon
Это хороший вопрос. Транспортир по умолчанию ждет окончания угловой активности. Это означает, что он будет ждать обновления значения vm.inscriptor.isLocalCountry. Но анимация скрытого элемента занимает некоторое время, и Protractor не ждет его – AdityaReddy
Получил это. Спасибо за ответ и объяснение !!! – aplon