没有可用的浏览器,但请求操作?
No browsers available, yet actions requested?
我在尝试使用 JsTestDriver 捕获浏览器时遇到此错误:
java.lang.RuntimeException: No browsers available, yet actions [com.google.jstestdriver.RunTestsAction@5427ee05] requested. If running against a persistent server please capture browsers. Otherwise, ensure that browsers are defined.
at com.google.jstestdriver.browser.BrowserActionExecutorAction.run(BrowserActionExecutorAction.java:94)
at com.google.jstestdriver.ActionRunner.runActions(ActionRunner.java:81)
at com.google.jstestdriver.embedded.JsTestDriverImpl.runConfigurationWithFlags(JsTestDriverImpl.java:342)
at com.google.jstestdriver.embedded.JsTestDriverImpl.runConfiguration(JsTestDriverImpl.java:233)
at com.google.jstestdriver.Main.main(Main.java:70)
基本上,我正在做的是:
启动 JsTestDriver 服务器:
nohup java -jar JsTestDriver-1.3.5.jar --port 9876 > jstd.out 2> jstd.err < /dev/null &
然后我尝试使用以下方式捕获浏览器:
nohup ./phantomjs phantomjs-jstd.js > phantomjs.out 2> phantomjs.err < /dev/null &
最后我尝试 运行 测试:
java -jar JsTestDriver-1.3.5.jar --server http://localhost:9876 --config ../../jsTestDriver.conf --tests all
我不得不说,这是在我将 Ubuntu 服务器从 11.10 更新到 12.04 之后发生的。它可能有助于阐明我在这里遇到的问题。
我不知道发生了什么...
顺便说一下,我已经访问了 link http://localhost:9876 并且我得到了这个输出 HTML:
<html>
<head>
<title>JsTestDriver</title>
<script>
function getEl(id){return document.getElementById(id);}function toggle(id) {
if (getEl(id).style.display=='block') {getEl(id).style.display='none';} else {getEl(id).style.display='block';}}
</script>
</head>
<body>
<a href="/capture">Capture This Browser</a>
<br/>
<a href="/capture?strict">Capture This Browser in strict mode</a>
<br/>
<p><strong>Captured Browsers: (0)</strong></p>
</body>
</html>
这告诉我有问题,因为没有合适的浏览器。
编辑
在另一台机器 (Fedora 21) 上尝试时,我已成功执行所有操作。我得到的不同输出是 运行ning 第二个命令,该命令试图捕获浏览器。我得到的输出是这个:
Wed Apr 13 2016 12:46:33 GMT+0200 (CEST): Attempting (1) to load: http://localhost:9876/capture
Wed Apr 13 2016 12:46:34 GMT+0200 (CEST): Finished loading http://localhost:9876/capture with status: success
现在访问 URL http://localhost:9876 时,我看到有一个 Captured 浏览器。仍然不知道 Ubuntu 12.04 服务器中发生了什么。
好吧,经过一整天的反复试验,我终于找到了自己问题的答案。我已经下载了 PhantomJS 并用新的二进制文件替换了以前的二进制文件。当 运行 PhantomJS 时,无论我用它做什么,输出都是空的。甚至 "phantomjs --version" 也让它意外退出。
奇怪的是,我在 Fedora 21 中使用了 'corrupted' 二进制文件,在将 Ubuntu 升级到 12.04 之前,它在 Ubuntu 11.10 中运行良好。
问题已解决!
我在尝试使用 JsTestDriver 捕获浏览器时遇到此错误:
java.lang.RuntimeException: No browsers available, yet actions [com.google.jstestdriver.RunTestsAction@5427ee05] requested. If running against a persistent server please capture browsers. Otherwise, ensure that browsers are defined.
at com.google.jstestdriver.browser.BrowserActionExecutorAction.run(BrowserActionExecutorAction.java:94)
at com.google.jstestdriver.ActionRunner.runActions(ActionRunner.java:81)
at com.google.jstestdriver.embedded.JsTestDriverImpl.runConfigurationWithFlags(JsTestDriverImpl.java:342)
at com.google.jstestdriver.embedded.JsTestDriverImpl.runConfiguration(JsTestDriverImpl.java:233)
at com.google.jstestdriver.Main.main(Main.java:70)
基本上,我正在做的是:
启动 JsTestDriver 服务器:
nohup java -jar JsTestDriver-1.3.5.jar --port 9876 > jstd.out 2> jstd.err < /dev/null &
然后我尝试使用以下方式捕获浏览器:
nohup ./phantomjs phantomjs-jstd.js > phantomjs.out 2> phantomjs.err < /dev/null &
最后我尝试 运行 测试:
java -jar JsTestDriver-1.3.5.jar --server http://localhost:9876 --config ../../jsTestDriver.conf --tests all
我不得不说,这是在我将 Ubuntu 服务器从 11.10 更新到 12.04 之后发生的。它可能有助于阐明我在这里遇到的问题。
我不知道发生了什么...
顺便说一下,我已经访问了 link http://localhost:9876 并且我得到了这个输出 HTML:
<html>
<head>
<title>JsTestDriver</title>
<script>
function getEl(id){return document.getElementById(id);}function toggle(id) {
if (getEl(id).style.display=='block') {getEl(id).style.display='none';} else {getEl(id).style.display='block';}}
</script>
</head>
<body>
<a href="/capture">Capture This Browser</a>
<br/>
<a href="/capture?strict">Capture This Browser in strict mode</a>
<br/>
<p><strong>Captured Browsers: (0)</strong></p>
</body>
</html>
这告诉我有问题,因为没有合适的浏览器。
编辑
在另一台机器 (Fedora 21) 上尝试时,我已成功执行所有操作。我得到的不同输出是 运行ning 第二个命令,该命令试图捕获浏览器。我得到的输出是这个:
Wed Apr 13 2016 12:46:33 GMT+0200 (CEST): Attempting (1) to load: http://localhost:9876/capture
Wed Apr 13 2016 12:46:34 GMT+0200 (CEST): Finished loading http://localhost:9876/capture with status: success
现在访问 URL http://localhost:9876 时,我看到有一个 Captured 浏览器。仍然不知道 Ubuntu 12.04 服务器中发生了什么。
好吧,经过一整天的反复试验,我终于找到了自己问题的答案。我已经下载了 PhantomJS 并用新的二进制文件替换了以前的二进制文件。当 运行 PhantomJS 时,无论我用它做什么,输出都是空的。甚至 "phantomjs --version" 也让它意外退出。
奇怪的是,我在 Fedora 21 中使用了 'corrupted' 二进制文件,在将 Ubuntu 升级到 12.04 之前,它在 Ubuntu 11.10 中运行良好。
问题已解决!