Транспортир: отключение потока управления

Я слышал, что поток управления веб-драйверами будет удален в будущем, и хотел обновить мои контрольные примеры.

Я не уверен, что лучше заменить его:

  • Асинхронное ожидание: работает хорошо, но не поддерживается 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));
});
Другие вопросы по тегам