幸ログ

ナレッジを溜めていきます

Spock + Gebでダイアログを操作する方法

ここ最近はGroovyでテストを自動化するためにSpockとGebを使っています。
WebサービスでJSでconfirmなどで確認ダイアログをすることが多いと思うのですが、
そのテストの書き方がわからなかったので調べて実装してみました。

環境

  • Groovy 2.4.1
  • Geb 1.1.1
  • IEDriverServer3.4.0
  • Selenium 2.53.0

コード

Spock+Gebでダイアログ操作

注目すべきコード

// SampleSpac.groovy
def confirm = environment.ie.driver.switchTo.alert()
confirm.accept()
// confirm.dismiss()

switchTo().alert()をすることでブラウザ上でポップアップしているJavascriptのダイアログが操作できるようになります。
accept()を使うことでconfirm関数の戻り値としてtrueを返すことができます。
dismiss()を使うことでconfirm関数の戻り値としてfalseを返すことができます。

蛇足

これを見付けだすのに一時間も使ってしまったことに後悔…
Selenium自身を勉強しないとGebを使いこなすことができないですね…