2

Web アプリで WebRTC 機能をテストしたいと考えています。これには、カメラやマイクにアクセスするためのブラウザーの許可プロンプトを受け入れる必要があります。これは Casper.js と Slimer.js で行うことができますか? ドキュメントには、実行可能であることを示唆するものは何も見つかりません。

多少関連 (同様の問題、異なるプラットフォーム): behat/mink でブラウザーの許可ダイアログを受け入れる

4

1 に答える 1

4

許可ボタンをプログラムでクリックすることはできませんが、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

簡単すぎます!;)

于 2014-12-22T21:33:32.377 に答える