gpt4 book ai didi

phantomjs - execFile 未被调用

转载 作者:行者123 更新时间:2023-12-01 06:26:54 24 4
gpt4 key购买 nike

我遇到了问题,甚至不确定从哪里开始进行故障排除。

我正在使用 slightly modified mocha-casperjs . CasperJS 是 PhantomJS 的包装器。我正在尝试在测试完成时集成 Growl 通知。

我可以在调用 mocha.run 之前成功执行通知,如下所示:

execFile("terminal-notifier", ["-message", "Tests Begin"], null, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout))
console.log("execFileSTDERR:", JSON.stringify(stderr))
})



// for convience, expose the current runner on the mocha global
mocha.runner = mocha.run(function() {
...

但是,这失败了:
// for convience, expose the current runner on the mocha global
mocha.runner = mocha.run(function() {
execFile("terminal-notifier", ["-message", "Tests Begin"], null, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout))
console.log("execFileSTDERR:", JSON.stringify(stderr))
})
...

我对 Mocha 或 PhantomJS 的胆量知之甚少。 Mocha 可能会吃标准输出或类似的东西,导致 execFile 调用失败?还有什么我没有得到的吗?

谢谢,
凯文

- - 更新 - -

情节变厚了。仅包含 casper 对象就会杀死 execFile。

使用“casperjs test.js”运行以下代码成功输出execFile。取消注释 casper 对象会导致没有输出。
'use strict';
var process = require("child_process");
var spawn = process.spawn;
var execFile = process.execFile;

execFile("ls", ["-lF", "/usr"], null, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout));
console.log("execFileSTDERR:", JSON.stringify(stderr));
});

//var casper = require('casper').create();
//casper.exit();

最佳答案

我遇到了同样的问题。 execFile异步运行,所以你需要给它一个执行的机会。通过立即退出 CasperJS,没有输出,因为 ls 没有完成,所以没有调用回调。一种解决方法是使用 setTimeout .这是我在 PhantomJS 中所做的。我认为 CasperJS 也是如此。

'use strict';
var process = require("child_process");
var spawn = process.spawn;
var execFile = process.execFile;

execFile("ls", ["-lF", "/usr"], null, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout));
console.log("execFileSTDERR:", JSON.stringify(stderr));
});

setTimeout(function() { phantom.exit(0) },1000);

关于phantomjs - execFile 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27495303/

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