Транспортир: отключение потока управления
Я слышал, что поток управления веб-драйверами будет удален в будущем, и хотел обновить мои контрольные примеры.
Я не уверен, что лучше заменить его:
- Асинхронное ожидание: работает хорошо, но не поддерживается jshint.
- цепочка обещаний: я не знаю, как обеспечить цепочку обещаний с жасмином.
Например:
it('should should clear qa cookies using the qa command', function() {
browser.waitForAngularEnabled(false)
.then(browser.get('cookies url'));
});
it('should open product page', function() {
browser.waitForAngularEnabled(true)
.then(browser.get('page-url'))
.then(browser.wait(function() {
return element.all(by.css('locator')).first().isDisplayed();
}))
.then(expect(true).toBe(true));
});
Как сделать, чтобы вторая спецификация запускалась только после первой спецификации??
Спасибо!!!
2 ответа
Я все еще рекомендую использовать async/await. Проблемы могут возникнуть, когда вам нужно будет работать с объектами подкачки, сохранять некоторые данные для будущего использования и так далее.
Если ваш jshint содержит ошибки, рассмотрите TypeScript + TSlint
Вам нужно "вернуть" и для чистых функций стрелка вида
it('should should clear qa cookies using the qa command', function() {
return browser.waitForAngularEnabled(false)
.then(() => browser.get('cookies url'));
});
it('should open product page', function() {
return browser.waitForAngularEnabled(true)
.then(() =>browser.get('page-url'))
.then(() =>browser.wait(() => element.all(by.css('locator')).first().isDisplayed()))
.then(() => expect(true).toBe(true));
});