5

Slimerjsの起動

さて、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 を実行すると、次のメッセージが表示されます。

Slimerjsに失敗する

しかし、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が認識されなくなりました。

4

3 に答える 3

0

Windows で実行している場合は、SLIMERJS_EXECUTABLE 環境変数を設定する必要があります。ファンチが推奨するインストールをすでに行っている場合は、ステップにスキップしてください


推奨インストール:

  1. Chocolateyをインストールします(管理者としてコマンド プロンプトを開きます)。

    @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
  2. NodeJS をインストールする

    choco install nodejs.install
  3. SlimerJSPhantomJSCasperJSをインストールします

    npm install -g slimerjs
    npm install -g phantomjs
    npm install -g casperjs
  4. Casperjs.cmdの修正 CasperJS
    のデフォルトのインストールには問題があり、Python 経由でロードしようとします。これは問題ありませんが、CasperJS にはネイティブの .Net 実行可能ファイルが付属しており、これを使用して Windows で CasperJS を実行する必要があります。これを修正するには、%APPDATA%\npm フォルダーの casperjs.cmd ファイルを編集します。

    notepad %APPDATA%\npm\casperjs.cmd

    内容を次のように置き換えます。

    @ECHO OFF
    SET PHANTOMJS_EXECUTABLE=%APPDATA%\npm\node_modules\casperjs\node_modules\phantomjs\lib\phantom\phantomjs.exe
    SET SLIMERJS_EXECUTABLE=%APPDATA%\npm\slimerjs.cmd
    %~dp0\node_modules\casperjs\bin\casperjs.exe %*
于 2015-09-11T18:08:13.170 に答える