在selenium webdriver javascript绑定中创建“自定义”承诺

时间:2016-02-19 10:05:19

标签: javascript node.js selenium selenium-webdriver promise

在selenium webdriver nodejs环境中创建“自定义”承诺的正确方法是什么?

在一个典型的nodejs应用程序中,我只想创建一个包含所有异步调用的promise,如下所示:

return new Promise(function (resolve, reject) {
    driver.method1().then(function(p1) {
       driver.method2(p2).then(function(p2) {
          resolve(p2);
       });
    });
});

我想知道,如果这是硒的正确方法,那么async-code实际上是一些selenium调用?

1 个答案:

答案 0 :(得分:3)

看过webdriver本身的来源后,似乎在webdriver中的方式如下:

function async(p) {
   let deferred = webdriver.promise.defer();
   driver.method1(p).then(function(r1) {
      driver.method2(r1).then(function(r2) {
         deferred.fulfill(r2));
      });
   });
   return deferred.promise;
}

async(p).then(function (result) {});

但我很想得到一些确认。