私は数日間苦労しているという問題があります。ユーザーの入力を記録し、Firefoxのアドオンで確認するsdk
私は、Webベースのアプリケーションのテストを記録するためにfirefoxのuserInputレコーディングシステムを作成しています。
フォームフィールドにonchangeイベントを記録し、各フィールドのonchangeイベントにリスナーが追加されたcontentScriptを使用してストアに保存します。
field.addEventListener('change', recordFieldChange);
私も、JS window.confirm法の観察者サービスベースのオーバーライドを使用して応答を確認し、ユーザを記録しています。
var obs = require("observer-service");
obs.add("content-document-global-created", observeWindow);
function observeWindow(subject) {
var window = subject.wrappedJSObject;
var standardConfirm = window.confirm;
window.confirm = function(pMessage) {
response = standardConfirm(pMessage);
recordConfirm(response);
return response;
}
};
私が午前のトラブルは確認がフィールドの変更によってトリガーされるすべての確認応答は、テストを実行するための誤った順序でフィールドの変更、前に記録されているということです。
これは、ページのオンチェンジがアドオンのcontentscriptの前に評価されているためです。このオーダーを変更する方法はありますか?
タイムアウトを使用しない、または基本的なページの内容を変更しないでください。 私はまた、ページの読み込みのような他のイベントによって引き起こされた確認を記録する必要があります。
ご返信ありがとうございます。 observeWindow()関数に提案したリスナーを追加しますが、確認応答が記録された後もリスナー関数は起動します。 :( – Arth
ちなみに、observeWindow()関数でwindow.onchangeを設定すると、これはバブルとキャプチャフェーズの変更のためのウィンドウリスナー関数の後に実際に起動します: – Arth
申し訳ありません、確認ダイアログは実際にアプリケーションのチェックボックスとラジオのonclickによって促されます - あなたのメソッドはonchangeによって発生した確認を表します – Arth