ジャスミンで書かれた一連のJavaScriptテストをPhantom.jsに実行させようとしています。ここで私はやっているものを再現する手順は、次のとおりですサーバなしでPhantom.jsでジャスミンテストスイートを実行
は、アーカイブはJavaScriptファイルのカップルのサンプル仕様が含まれているとジャスミンのフレームワーク(zipアーカイブ)
の最新リリースのlatest standalone releaseを取得
phantom.jsをインストールし、phantom.jsプロジェクトの例フォルダからjasmine 2 runnerをダウンロードし、ブラウザでこれらの仕様を実行することができます
SpecRunner.html
ファイルphantom.jsで
SpecRunner.html
を実行してみ:phantomjs ./phantom/run-jasmine2.js ./jasmine/SpecRunner.html
(./phantom/run-jasmine2.js
がphantom.jsためjasmine2ランナーへのパスで、./jasmine/SpecRunner.html
はサンプルの仕様と仕様のランナーへのパスですジャスミンフォルダ)
に私は次のエラー
TypeError: null is not an object (evaluating 'document.body.querySelector('.description').innerText')
Blocked a frame with origin "file://" from accessing a frame with origin "null". The frame requesting access has a protocol of "file", the frame being accessed has a protocol of "about". Protocols must match.
を取得しています10
Phantomは、スペックランナーがローカルサーバー(localhost:8080/SpecRunner.html
)によって提供されるファイルではなく、ディスクからファイルとして直接提供されるのは不幸だと思われます。ファンタムをサーバーを回転させずにスペックランナーファイルで動作させる方法を提案できますか?またカルマがなければ、可能ならば。
どのバージョンのPhantomJSを使用していますか? – Sintyche