Was ist der richtige Weg, um zu starten slimerjs in casperjs (mit einem absoluten Pfad)?
Gut, ich kann starten slimerjs, indem der Pfad von der slimer.bat-Datei :
C:\bin\slimerjs\slimerjs.bat und dann ausführen meiner Datei.
Aber wenn ich ändern, casperjs-Datei (im bin\ ) und ändern Sie die Standard-exec für slimer :
'env_varname': 'SLIMERJS_EXECUTABLE',
'default_exec' : 'C:\bin\slimerjs\slimerjs.bat'
wenn ich führen Sie die casper-Befehl :
casperjs --engine=slimerjs test.js
Es nicht funktioniert, den Weg zu slimerjs.Fledermaus scheint, um ignoriert zu werden.
Habe ich versucht, dieses zu : https://github.com/laurentj/slimerjs/blob/master/BUILD.md
Aber die slimerjs.exe allein ist nicht ausreichend, ich muss haben Anwendung.ini und omni.ja in den aktuellen Ordner, in dem ich die Ausführung meiner versuche, und ich don ' T wollen, fügen Sie einige Dateien in jedem Ordner.
Was ich will, ist nur zu führen slimerjs in casperjs mit der Motor-Eigenschaft, was auch immer der Ordner ist, wo ich bin, wie in phantomjs, so dass ich einen absoluten Pfad (oder relativen Pfad von der Wurzel).
Ich will nicht in die slimerjs.bat Ordner und den Ordner angeben, oder js-test möchte ich ausführen, wie : casperjs test C:/bin/try/test.js --engine=slimerjs.
Hier ein ähnliches Problem :
https://github.com/n1k0/casperjs/issues/591
Bearbeiten (Dank Darren Cook für seine Antwort) für weitere Informationen :
set PATH=%PATH%;C:\\bin\\slimerjs
Wenn ich einen Windows-PFAD für slimer, wenn ich ausführen casperjs test --engine=slimerjs test.js ich habe diese Nachricht :
Aber das hinzufügen der beiden Dateien in der test.js Ordner löst das problem.
So, ich glaube, ich habe zu ändern, die slimerjs bat-Datei zu setzen :callexec Weg von der slimerjs.bat Ordner, nicht die aktuelle test.js Ordner.
Hier :
:callexec
if ["%HIDE_ERRORS%"]==[""] (
%SLIMERJSLAUNCHER% -app "%SLIMERDIR%application.ini" %PROFILE% -attach-console -no-remote %__SLIMER_ARGS%
) ELSE (
%SLIMERJSLAUNCHER% -app "%SLIMERDIR%application.ini" %PROFILE% -attach-console -no-remote %__SLIMER_ARGS% 2>NUL
)
mit :
SET SLIMERDIR=%~dp0
Das problem ist, dass ich bin nicht vertraut mit dieser syntax (batch-Datei), könnte es schon korrekt ist und das problem nicht von hier kommen.
Aber was ich beobachte ist, dass es scheint, zu suchen Anwendung.ini und omni.ja aus dem aktuellen Ordner, nicht die slimerjs Ordner.
PS : die zweite Idee, die nicht funktioniert aber jetzt weiß ich, es kommt von slimerjs.
EDIT:
REM % ~ d[rive] p[ath] 0[script name] is the absolute path to this bat file, without quotes, always.
REM ~ strips quotes from the argument
So, der Weg scheint gut zu sein, und in der Tat funktioniert es mit slimerjs allein :
slimerjs test.js funktioniert Super und es Fragen nicht zur Anwendung.ini.
Es ist also die Kombination von den beiden, die nicht funktionieren.
Wenn Sie starten Sie es mit der casper-Befehl, der Pfad anders ist (aktuelle Ordner) , und Anwendung.ini wird nicht erkannt mehr.
- Bitte Bearbeiten Sie nicht in einer Antwort in der Frage selbst. Wenn Sie die Lösung gefunden, postet es unten als Antwort.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Antwort -> ich endlich einen Weg gefunden, die zu mir passt : wie diese :
Also setzte ich slimer im WEG, und ich haben, Anwendung.ini und omni.ja auf dem gleichen Niveau wie meine Verzeichnisse contening meine test-Dateien. So ist es nicht unbequem, und ich kann starten mein Verzeichnissen oder Dateien mit slimerJS.
Siehe auch Git Problem
EDIT : Hier die beste Lösung : installieren Sie es via npm :
npm install -g slimerjs
-g zu werden, die überall verfügbar sind. Und das ist es, juste wählen Sie Ihre--engine=slimerjs
mit casper und es funktioniert. Thx für das node-Modul.Für die beste Weg, um zu installieren phantomjs + casperjs + slimerjs ohne PFAD und OS-Kompatibilität Schwitzkasten :
In windows die exe-Datei werden hier eingestellt : C:\Users\UserName\AppData\Roaming\npm (Sie brauchen nicht, um Sie in den PFAD, Knoten -npm tatsächlich - schafft es, mit die -g-flag).
Beachten slimerjs hat einige relative Pfad Probleme, so halten Sie die Kompatibilität zwischen phantom und slimer, verwenden Sie
fs.workingDirectory
finden Sie Gibt es einen Weg, um Schritt in CasperJS code und Debug-Schritt für SchrittSetzen slimerjs in den Windows-Pfad. Sie können dies testen, wird arbeiten by doing:
Wenn das gut ist, können Sie Sie Global. Hier ist ALSO die Frage, wie zu tun, die programmatisch: Wie update PATH-variable dauerhaft von cmd? Windows Und hier ist eine von vielen Seiten, wie man es von der GUI: http://www.computerhope.com/issues/ch000549.htm
Als eine andere Idee, ich Frage mich, ob der casper-Skript muss die doppelte umgekehrte Schrägstriche, also vielleicht sollte es so Aussehen:
PATH
Sie Pfade festlegen, wieC:\bin\slimerjs
, nicht alsC:\\bin\\slimerjs
(d.h. einfache umgekehrte Schrägstriche verwenden).Wenn Sie mit Windows haben, sollte das SLIMERJS_EXECUTABLE Umgebungsvariable. Wenn Sie bereits getan haben, installieren empfohlen von Fanch dann springen Sie zu Schritt
Installation Empfohlen:
Installieren Schokoladig (öffnen Sie die Kommandozeile als administrator)
Install NodeJS
Installieren SlimerJS, PhantomJS und CasperJS
FIX Casperjs.cmd
Es ein problem mit der Standard-installation von CasperJS in denen Sie versucht, es zu laden über python. Das ist zwar ok, CasperJS kommt mit einer nativen .Net ausführbare Datei und das ist, was Sie verwenden sollten, um ausführen CasperJS unter Windows. Um dies zu beheben, Bearbeiten Sie die casperjs.cmd-Datei in %APPDATA%\npm Ordner
und ersetzen Sie den Inhalt mit diesem: