Web アプリで WebRTC 機能をテストしたいと考えています。これには、カメラやマイクにアクセスするためのブラウザーの許可プロンプトを受け入れる必要があります。これは Casper.js と Slimer.js で行うことができますか? ドキュメントには、実行可能であることを示唆するものは何も見つかりません。
多少関連 (同様の問題、異なるプラットフォーム): behat/mink でブラウザーの許可ダイアログを受け入れる
Web アプリで WebRTC 機能をテストしたいと考えています。これには、カメラやマイクにアクセスするためのブラウザーの許可プロンプトを受け入れる必要があります。これは Casper.js と Slimer.js で行うことができますか? ドキュメントには、実行可能であることを示唆するものは何も見つかりません。
多少関連 (同様の問題、異なるプラットフォーム): behat/mink でブラウザーの許可ダイアログを受け入れる
許可ボタンをプログラムでクリックすることはできませんが、CasperJS/SlimerJS では、テストで使用している自動化された Firefox インスタンスのカスタム プロファイルを使用できます。少なくともWebRTC/getUserMediaパーミッション プロンプトの場合、Firefox ではプロファイルの設定でそれらを無効にできます。
これがあなたがすることです。シェルで、SlimerJS を使用して新しいプロファイルを作成します。
slimerjs --createprofile nameOfYourNewProfileGoesHere
新しいプロファイルが Firefox プロファイル ディレクトリに作成されました。ディレクトリを見つけるには、作成したばかりのプロファイル名を検索するか、Firefox に移動してHelp Menu > Troubleshooting Information. [プロファイル フォルダ] の横にある [Finder に表示] (またはお使いのプラットフォームの同等のボタン) をクリックします。
プロファイルは のような名前のディレクトリですasfd1234.nameOfYourNewProfileGoesHere。そのディレクトリ内でファイルを編集し、次のprefs.js行を追加します。
user_pref("media.navigator.permission.disabled", true);
これで、CasperJS スクリプト (または SlimerJS を直接実行すると思いますが、これは Casper でのみテストしました) を実行するときに、プロファイルを指定するだけで済みます。CasperJS の場合:
casperjs test --engine=slimerjs -P nameOfYourNewProfileGoesHere nameOfYourTestFile.js
簡単すぎます!;)