没有可用的浏览器,但请求了哪些操作?

时间:2016-04-13 09:41:35

标签: linux phantomjs js-test-driver

尝试使用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)

基本上,我正在做的是:

  1. 使用以下命令启动JsTestDriver服务器:

    nohup java -jar JsTestDriver-1.3.5.jar --port 9876> jstd.out 2> jstd.err< / dev / null&

  2. 然后我尝试使用以下方法捕获浏览器:

    nohup ./phantomjs phantomjs-jstd.js> phantomjs.out 2> phantomjs.err< / dev / null&

  3. 最后我尝试用以下方式运行测试:

    java -jar JsTestDriver-1.3.5.jar --server http://localhost:9876 --config ../../jsTestDriver.conf - 测试所有

  4. 我必须说,这是在我更新了我的Ubuntu服务器之后,从11.10到12.04。它可以帮助我解决我在这里遇到的问题。

    我不知道发生了什么......

    顺便说一句,我已经访问了链接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>
    &#13;
    &#13;
    &#13;

    这告诉我,由于没有可读的浏览器,因此出现了问题。

    修改

    尝试使用其他机器(Fedora 21)时,我已经成功执行了所有操作。我输出的不同输出是在运行第二个命令时,即尝试捕获浏览器的命令。我得到的输出就是这个:

    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
    

    现在访问网址http://localhost:9876时,我发现有一个捕获的浏览器。关于Ubuntu 12.04服务器中发生的事情仍然没有任何线索。

1 个答案:

答案 0 :(得分:0)

好吧,经过一整天的反复试验,我终于得到了自己问题的答案。我已经下载了PhantomJS并用新的二进制代替了之前的二进制文件。运行PhantomJS时,无论我用它做什么,输出都是空的。甚至&#34; phantomjs --version&#34;让它意外退出。

奇怪的是,我使用过的“已损坏的”#39; Fedora 21中的二进制文件,在将Ubuntu升级到12.04之前,在Ubuntu 11.10中运行良好。

问题解决了!