gpt4 book ai didi

angularjs - Protractor 所有 API 函数真的返回 promise 吗?

转载 作者:行者123 更新时间:2023-11-28 20:20:20 25 4
gpt4 key购买 nike

当我运行这个测试时:

browser.get('http://www.valid-site.com').then(function(msg){
console.log(msg);
});

我希望打印 1 或 true 以指示操作成功,因为 get() 应该返回一个 promise ,其中包含已解决的值。相反,它会打印“null”。在 API 文档中 http://angular.github.io/protractor/#/api没有返回类型的指示。我很困惑哪些函数返回 promise ,哪些不返回。

最佳答案

不确定它是否会直接回答问题,但是,如果您查看 browser.get() protractor's implementation (它包装了 WebDriverJSdriver.get()),你可以看到它返回:

return this.executeScript_(
'angular.resumeBootstrap(arguments[0]);',
msg('resume bootstrap'),
moduleNames);

并且由于执行的脚本没有return,这就是您看到null 已解决的原因。


但是,如果您查看,例如,browser.refresh() implementation ,你会看到它返回:

return self.executeScript_(
'return window.location.href',
'Protractor.refresh() - getUrl').then(function(href) {
return self.get(href, timeout);
});

在这种情况下,执行的脚本返回 window.location.href 值,在以下情况下您会在控制台上看到该值:

browser.refresh().then(function (url) {
console.log(url);
});

我猜,你能理解这个"Read the source, Luke" answer ,因为,每当您不确定时,请查看来源。

关于angularjs - Protractor 所有 API 函数真的返回 promise 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29306599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com