さて、slimer.bat ファイルのパスを指定することで、slimerjs を起動できます: C:\bin\slimerjs\slimerjs.bat そして、私のファイルを実行します。
しかし、casperjs ファイル (bin\ 内) を変更し、デフォルトの exec を Slimer に変更すると、次のようになります。
'env_varname': 'SLIMERJS_EXECUTABLE',
'default_exec' : 'C:\bin\slimerjs\slimerjs.bat'
casper コマンドを実行すると:
casperjs --engine=slimerjs test.js
Slimerjs.bat へのパスが無視されているようです。
私もこれを試しました: https://github.com/laurentj/slimerjs/blob/master/BUILD.md
しかし、slimerjs.exe だけでは十分ではありません。テストを実行している現在のフォルダーに application.ini と omni.ja が必要で、すべてのフォルダーにいくつかのファイルを追加したくありません。
私が望むのは、casperjsでエンジンプロパティを使用してslimerjsを実行することだけです.phantomjsのように、私がいるフォルダーが何であれ、絶対パス(またはルートからの相対パス)を設定する必要があります.
私はslimerjs.batフォルダーに入って、そのように実行したいフォルダーまたはjsテストを指定したくありません:casperjs test C:/bin/try/test.js --engine=slimerjs.
ここに1つの同様の問題があります: https://github.com/n1k0/casperjs/issues/591
詳細については、編集してください(回答してくれたダレン・クックに感謝します):
set PATH=%PATH%;C:\\bin\\slimerjs
Slimer の Windows PATH を設定した場合、casperjs test --engine=slimerjs test.js を実行すると、次のメッセージが表示されます。
しかし、test.js フォルダーに 2 つのファイルを追加すると、問題は解決します。
したがって、現在の test.js フォルダーではなく、slimerjs.bat フォルダーから :callexec パスを設定するには、slimerjs バット ファイルを変更する必要があると思います。
ここ :
: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
)
と :
SET SLIMERDIR=%~dp0
問題は、私がこの構文 (バッチ ファイル) に慣れていないことです。それは既に正しい可能性があり、問題はここでは発生しません。
しかし、私が観察したのは、slimerjs フォルダーではなく、現在のフォルダーから application.ini と omni.ja を探しているように見えることです。
PS:2番目のアイデアは機能しませんが、slimerjsに由来することがわかりました。
編集:
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
したがって、パスは適切であるように思われ、実際、slimerjs だけで動作します。slimerjs test.js はうまく動作し、application.ini を要求しません。したがって、機能しないのは2つの組み合わせです。
casperコマンドで起動すると、パスが違って(現在のフォルダ)、application.iniが認識されなくなりました。