2016-04-13 6 views
0

Ich erhalte diesen Fehler bei dem Versuch, einen Browser zu erfassen die JsTestDriver mit:Keine Browser verfügbar, aber Aktionen angefordert?

java.lang.RuntimeException: No browsers available, yet actions [[email protected]] 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) 

Im Grunde, was ich tue, ist die folgende:

  1. mit den JsTestDriver Server starten:

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

  2. Dann versuche ich mit einem Browser zu erfassen:

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

  3. Und schließlich versuche ich laufen die Tests mit:

    java -jar JsTestDriver-1.3.5.jar --server http://localhost:9876 --config ../../jsTestDriver.conf --tests alle

ich muss sagen, dass dies passiert, nachdem ich den Ubuntu-Server aktualisiert habe, den ich hatte, von 11.10 bis 12.04. Es könnte helfen, etwas Licht in das Problem zu bringen, das ich hier erlebe.

Ich habe keine Ahnung, was los ist ...

By the way, habe ich den Link http://localhost:9876 zugegriffen und ich bekomme diese Ausgabe 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>

Welche sagt mir, dass da etwas nicht stimmt, da es keine eleganten Browser gibt.

EDIT

Während in einer anderen Maschine (Fedora 21) versucht, habe ich alles erfolgreich ausgeführt. Die unterschiedliche Ausgabe, die ich hatte, war, als ich den zweiten Befehl ausführte, den, der versucht, einen Browser zu erfassen. Der Ausgang ich erhielt, war dieses:

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 

Und wenn die URL Besuch http://localhost:9876 jetzt sehe ich, es ist ein Captured Browser. Noch immer keine Ahnung, was auf dem Ubuntu 12.04 Server passiert.

Antwort

0

Nun, ich habe endlich die Antwort auf meine eigene Frage, nach dem ganzen Tag der Versuch und Irrtum. Ich habe PhantomJS heruntergeladen und die vorherige Binärdatei durch die neue ersetzt. Beim Ausführen von PhantomJS war die Ausgabe leer, egal was ich damit machte. Selbst "phantomjs --version" hat es unerwartet verlassen.

Das Seltsame ist, dass ich diese "korrupte" Binärdatei in Fedora 21 verwendet habe, die auch in Ubuntu 11.10 funktioniert hat, bevor Ubuntu auf 12.04 aktualisiert wurde.

Problem gelöst!

Verwandte Themen