Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript phantomjs page.open因未定义而失败_Javascript_Phantomjs - Fatal编程技术网

Javascript phantomjs page.open因未定义而失败

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

我有一个Rails Ember项目,最近我在该项目上设置了QUnit单元测试,并且在浏览器中一切都很好。我现在正试图让它在Jenkins服务器上无头运行

为了增加乐趣,我们的Jenkins服务器无法访问外部互联网,因为企业

所以我试着用Phantomjs和。这在我的本地机器上非常有效

我试图在CI服务器上运行它,方法是启动一个后台rails服务器,然后对其运行脚本

# 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