量角器:禁用控制流程

时间:2017-06-27 06:20:47

标签: promise protractor control-flow

我听说将来会删除webdriver控制流程,并希望更新我的测试用例。

我不确定更换它的更好方法是什么:

  • Async await:运行良好,但jshint不支持。
  • 承诺链接:我不知道如何确保与jasmin联系的承诺。

例如:

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 个答案:

答案 0 :(得分:1)

我仍然建议使用async / await。当您需要使用pageobjects,保存一些数据以备将来使用等时,会出现问题。

如果您的jshint出错,请考虑使用TypeScript + TSlint

答案 1 :(得分:1)

你需要'返回'并用于清晰的视图箭头功能

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));
});