describe('Text', function() {
it('should be displayed on stage with set value', function() {
var deferred = protractor.promise.defer();
var promise = deferred.promise;
promise.then(function (data) {
console.log(data);
});
browser.driver.executeScript('arguments[0].fulfill("Some data");', deferred);
});
});
是否有可能在函数executescript()
的上下文中解析(实现)一个promise对象?是否有其他方法处理这个问题?
UPD:这个代码对我有效。谢了!
describe('Text', function() {
it('should be displayed on stage with set value', function() {
var deferred = protractor.promise.defer();
browser.driver.executeAsyncScript(function () {
var callback = arguments[arguments.length - 1];
MyApp.apiFunction({
callback: function (callbackParams) {
callback(callbackParams);
}
});
}, function (data) { // Callback
deferred.fulfill(data);
}).then(function (result) {
// Do what you need with data...
console.log('Result: ', result);
});
});
});
executeAsyncScript()
正是您所需要的。
引用理解Selenium中执行异步脚本主题中的@hankduan:
当您关心调用脚本中的返回值时,请使用executeAsyncScript,但该返回值不会立即可用。如果您不能轮询结果,但必须使用回调或promise(您必须将其转换为自己的回调)来获得结果,这就特别必要。
问题内容: pm2是否可以运行npm start脚本,还是只需要运行 所以在发展中 然后在pm2的生产环境中运行类似 有一个等效的方法可以做到这一点: 问题答案: PM2现在支持npm start: 要将名称分配给PM2进程,请使用以下选项:
问题内容: 我必须转换一个传递查询的MSSQL存储过程: 这不起作用。我敢肯定,而不是MySQL的命令,但也不管用。 有谁知道是否有可能为MySQL提供类似JavaScript的功能? 问题答案: EXECUTE是MySQL中的有效命令。MySQL参考手册
问题内容: 我正在寻找一种在客户端(即在浏览器中)进行traceroute的方法。 据我所知,不可能通过Javascript或Flash发送具有任意TTL值的ICMP,UDP或TCP数据包。我知道Flash允许通过Actionscript中的Socket类进行TCP连接,但是它对于traceroute实现似乎没有用。 是开发浏览器插件的唯一解决方案吗? 编辑 :我刚刚发现它已经用Java小程序完成
通过on_delete选项,Django提供了各种方法来处理具有被删除对象外键的对象。 我想知道是否有一种方法,我可以做类似的事情,但有条件的。下面是一个场景。我正在使用Django1.5新的自定义用户模型,我的所有用户都有一个网站的外键。像这样: 如果一个站点被删除了,那么我更愿意删除所有链接到该站点的非超级用户(即类似KASKADE的behavoir),因为它们的存在现在已经没有意义了。但如果
问题内容: 通常,您可以执行Python脚本,例如:,但是如果您处于交互模式,那么如何在文件系统上执行Python脚本呢? 应该可以多次执行该脚本。 问题答案: 使用的execfile(“script.py”),但只对蟒蛇2.x的工作,如果你使用的是3.0试试这个
今天我一直在玩谷歌应用程序脚本,我正在尝试编写一些自定义电子表格函数。我做了一些搜索,但找不到我的问题的答案。 我知道,在谷歌电子表格中,您可以在电子表格的单元格中使用ImportRange,如下所示: 我的问题是,有没有可能在谷歌应用程序脚本中做类似的事情?如果有,怎么做? 我想从另一个电子表格上的工作表(而不是脚本将驻留的电子表格上的工作表)导入一系列单元格。