Javascript phantomjs page.open因未定义而失败
我有一个Rails Ember项目,最近我在该项目上设置了QUnit单元测试,并且在浏览器中一切都很好。我现在正试图让它在Jenkins服务器上无头运行 为了增加乐趣,我们的Jenkins服务器无法访问外部互联网,因为企业 所以我试着用Phantomjs和。这在我的本地机器上非常有效 我试图在CI服务器上运行它,方法是启动一个后台rails服务器,然后对其运行脚本Javascript phantomjs page.open因未定义而失败,javascript,phantomjs,Javascript,Phantomjs,我有一个Rails Ember项目,最近我在该项目上设置了QUnit单元测试,并且在浏览器中一切都很好。我现在正试图让它在Jenkins服务器上无头运行 为了增加乐趣,我们的Jenkins服务器无法访问外部互联网,因为企业 所以我试着用Phantomjs和。这在我的本地机器上非常有效 我试图在CI服务器上运行它,方法是启动一个后台rails服务器,然后对其运行脚本 # some environment variables are set up here $ rails s -p 6000 --d
# some environment variables are set up here
$ rails s -p 6000 --daemon
$ phantomjs vendor/assets/javascripts/runner.js http://localhost:6000/qunit
由于“无法访问网络:失败”而失败
将下载包含所有正确脚本标记和QUnit Fixture的HTML页面,以便一切都可以按预期运行
我修改了脚本以获取更多信息,并在resourceError上记录了原因:
page.onResouceError = function(resourceError) {
page.reason = resourceError.errorString
}
然后错误就出来了
无法访问网络:失败,因为未定义
因此,将脚本取出并作为命令行实用程序运行PhantomJS:
phantomjs > var page = require('webpage').create()
phantomjs > page.open("http://localhost:6000/qunit", function(status) { console.log status })
undefined
所以我现在有点力不从心了。我不知道还能尝试什么
作为参考,我使用的phantomjs二进制文件是1.9.2
$ ./phantomjs -v
1.9.2
在本地运行phantomjs时,您可能需要括号:
console.log(status)
。您用最新版本1.9.8(1.9.12到npm)尝试过吗?
$ ./phantomjs -v
1.9.2