17

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

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

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

ptor.switchTo().<something>

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

4

3 に答える 3

26

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

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

var ptor = protractor.getInstance();

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

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

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

于 2014-05-29T10:19:51.130 に答える
13

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

使用して終了しました:

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

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

于 2015-07-14T18:55:18.743 に答える