当前位置: 首页 > 面试题库 >

如何在量角器中创建和操纵承诺?

芮立果
2023-03-14
问题内容

我想使用Node Http模块直接调用服务器以设置我的量角器测试。Http基于回调,我想将其变为promise。

例如,我想让这个函数返回promise:

function callMyApi() {
  var promise = // somehow create promise;

  http.request({path: '/yada/yada', method: 'POST'}, function(resp) {
    promise.complete(resp);
  });

  return promise;
}

因此,问题是:我需要什么并require()代替“以某种方式创造承诺”才能使之起作用?


问题答案:

量角器使用WebDriver的承诺,并在“量角器”上全局公开该API。所以你应该能够做

var deferred = protractor.promise.defer();
return deferred.promise;

有关完整的WebDriverJS Promise
API,请参见https://code.google.com/p/selenium/source/browse/javascript/webdriver/promise.js上的代码。



 类似资料:
  • 问题内容: 我正在编写一个测试用例,用于使用Protractor在Angular应用程序的页面中添加商店信息,在这里我最初是在计算已经拥有的商店数量,并且在完成测试块后,我希望该数量增加一,因此通过遵循创建承诺的链接来做到这一点如何在量角器中创建和操纵承诺? 我希望测试结束时商店的数量是相同的。count()正在解决一个承诺,并且商店计数的正确值会打印在testPromise()中,但是当我调用t

  • 问题内容: 我对angular中的$ q库如何工作有一个不错的想法,但是我不确定量角器或web-driver- js如何使用它们。(特别是因为我认为量角器/网络驱动程序/角度之间的利用率略有不同) 例如,我在量角器教程中看到的示例代码似乎是逐行编写的,并且假定上一个在下一个之前完成。(例如,browser.get(url)后跟browser.getTitle())是否存在某种隐含的承诺?(我不必手

  • 问题内容: 库具有此整齐的功能,可以解决多个promise并将其分散到单独的参数中: 如果对数组有保证,则可以使用点差代替。传播函数将值“传播”在实现处理程序的参数上。 在量角器中,我们尝试使用来自的内置函数。 问题: 是否可以使用“传播”功能? 用例示例: 我们已经实现了一个自定义的茉莉花匹配器,以检查元素是否聚焦。在这里,在进行相等比较之前,我们需要解决两个诺言。目前,我们正在使用和: 理想情

  • 问题内容: 我想做这样的事情: 因此,我想声明一个承诺,可以使用then来解决。但是,此承诺可能会被另一个返回内容的承诺覆盖。以后我想解决诺言是否有内容。这可能吗?我尝试过: 但是,当用户在场时这不起作用。有任何想法吗? 问题答案: 就像Bixi所写的那样,您可以使用将承诺或价值包装到承诺中。如果您传递给的是承诺,则将返回该承诺,否则将创建一个新的承诺,并直接使用您传递的值来解决。类似以下内容:

  • 我有以下配置,但得到错误 詹金斯命令 下面是我的配置文件

  • 问题内容: 我希望使用Protractor,CucumberJS和Jasmine来测试我的项目。如何在量角器中同时使用Jasmine和CucumberJS?这是我创建的项目设置: / path / to / myproj / protractor.conf.js 如您所见,该项目使用“黄瓜”作为框架。如何与CucumberJS一起添加Jasmine框架?是通过量角器配置文件还是代码中的其他位置?