angularjs – 如何使用量角器向流控制队列添加承诺?

前端之家收集整理的这篇文章主要介绍了angularjs – 如何使用量角器向流控制队列添加承诺?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的测试中,我打电话和外部图书馆,在使用量角器运行一些ui测试之前将数据种子加入我们的后端.
'use strict'

var dataBuilder = require('data_builder.js');

describe('test',function () {
  var testData = {
    name: 'foo',title: 'bar',...
  };

  beforeEach(function () {
    //create test data on the backend
    dataBuilder.create(testData).then(function (id) {
      testData.id = id.id;
    });
  });



  it('test something',function () {
    ...
  });

因此,在it()实际完成之前,dataBuilder返回的承诺尚未解决.如何将dataBuilder返回的承诺添加到webDriver的流控制?

量角器暴露了量角器对象上的WebDriverJS承诺,因此您可以使用flow.await方法或创建新的承诺并使用flow.execute.

前者可以实现如下:

flow = protractor.promise.controlFlow()

flow.await(dataBuilder.create(testData)).then( function(id) {
    testData.id = id.id;
})

而您可以在这个blog post中看到后者的例子.

这可以在其功能本身完成,或者如果这是所有测试的共同之处,考虑将其放置在量角器配置的onPrepare函数中.

猜你在找的Angularjs相关文章