web-dev-qa-db-ja.com

分度器で確認ダイアログをテストする

これは非常に単純な質問のようですが、オンラインで答えを見つけることができず、自分で答えを見つけることができませんでした。

私はアプリケーションにAngularJSを使用していますが、ある時点で、変更を受け入れるかキャンセルするかをユーザーに尋ねるネイティブJavaScript確認ボックス/ダイアログがあります。

テストで選択したオプションを(分度器を使用して)シミュレートするにはどうすればよいですか?確認ボックスにアクセスして、Okまたはキャンセルしてテストでそれに応じて行動する」のいずれかを「クリック」することは可能ですか?私は次のようなものを推測しています

ptor.switchTo().<something>

可能ですが、答えが見つからないようです。

16
redwulf

これは他の誰かに役立つかもしれないので、私は自分の質問に答えることができると思います。

まず、分度器インスタンスを取得する必要があります。

var ptor = protractor.getInstance();

確認ダイアログはアラートと同じように処理されるため、次のような方法でうまくいきました。

var alertDialog = ptor.switchTo().alert();
alertDialog.accept();  // Use to accept (simulate clicking ok)
alertDialog.dismiss(); // Use to simulate cancel button

とてもシンプルでエレガントですが、答えを見つけるのは難しいです。これが他の誰かに役立つことを願っています

26
redwulf

上記のコメントからコピーしましたが、Protractorインスタンスを取得する代わりに、browser.switchTo()。alert()を使用する必要がありました。

使用することになった:

browser.switchTo().alert().accept();

警告ダイアログに応答します。

11
z0d14c

browser.switchTo()。alert()

これは私のために働いた。 protractor.getInstanceメソッドは私には機能しませんでした。

0
Henry