Jasmine webpage.open()从不调用回调函数

Jasmine webpage.open()从不调用回调函数,jasmine,phantomjs,js-test-driver,Jasmine,Phantomjs,Js Test Driver,我正在使用PhantomJS1.8.2运行一些使用JsTestDriver的Jasmine单元测试。使用Chrome可以很好地运行测试,但是使用PhantomJS时,大约有一半的时间,测试结果是没有找到测试用例 我已经将问题缩小到PhantomJS无法打开本地JsTestDriver页面(http://localhost:9876/capture)。这里是如何复制这个,大约50%的时间,加载。。。以身份。。。消息从未显示: 在本地启动JsTestDriver服务器 运行phantomjs ph

我正在使用PhantomJS1.8.2运行一些使用JsTestDriver的Jasmine单元测试。使用Chrome可以很好地运行测试,但是使用PhantomJS时,大约有一半的时间,测试结果是没有找到测试用例

我已经将问题缩小到PhantomJS无法打开本地JsTestDriver页面(
http://localhost:9876/capture
)。这里是如何复制这个,大约50%的时间,加载。。。以身份。。。消息从未显示:

  • 在本地启动JsTestDriver服务器
  • 运行phantomjs phantomjs jstd bridge.js
文件
phantomjs jstd bridge.js
如下所示:

var page = require('webpage').create();
var url = 'http://localhost:9876/capture';
console.log('Loading ' + url);
page.open(url, function(status) {
  console.log('Loaded ' + url + ' with status ' + status);
});
始终显示第一个日志行(加载…),但来自回调的第二行只打印了大约一半的时间

这可能是什么原因?在web浏览器中打开有问题的URL每次都可以正常工作


有没有办法获得更多关于PhantomJS为什么不调用回调的信息?

查看wiki页面中提到的一些提示。跟踪网络传输活动尤其有用,因为它可能指示某些资源是否未正确发送或存在其他类似问题。

由于您在测试中使用回调函数,因此可能必须使用回调函数。