状況
Selenium IDEとselenium-side-runnerでテストケースを作っていました。
javascript
のconfirm
関数で確認アラートを表示する箇所です。
削除ボタンをクリック
↓
「削除します」確認アラートが表示される
↓
OKボタンをクリック
↓
(一覧ページに戻る、など)
Selenium IDE ver2.xでは、次のようにassert confirmation
コマンドを呼んでいました。
Command | Target | Value |
---|---|---|
click | id=btnDelete | |
assert confirmation | 削除します |
ところがver3.xでは、click
コマンドを実行すると、確認アラートが表示されたままで、先に進みません。
Selenium IDE上では、click
コマンド行で「実行中」の状態です。次のassert confirmation
コマンド行に進んでいないんですね。
verify confirmation
コマンドも試しましたが、やはり確認アラートが表示されたままで、先に進みませんでした。
対応
A案:ブラウザツールバー「Se」ボタンから起動する場合
まず、click
コマンドの前に、choose ok on next confirmation
コマンドを挿入します。
click
コマンドの後のassert confirmation
コマンドはあきらめて、削除することにしました。
Command | Target | Value |
---|---|---|
choose ok on next confirmation | ||
click | id=btnDelete |
確認アラートは表示されず、OKをクリックしたことになって、先に進みました。

よかったね👍
B案:selenium-side-runnerで実行する場合(「Se」ボタンから起動する場合も)
A案をselenium-side-runner
ヘッドレスで実行しました。すると、click
コマンドの次のコマンドで、エラーになってしまいました。確認アラートが表示されているようです。
UnexpectedAlertOpenError: unexpected alert open: {Alert text : 削除します}
Code language: HTTP (http)
selenium-side-runnerのヘッド有りで実行しても、同じエラーです。エラー直後にブラウザが閉じてしまうので、実際に確認アラートが表示されているのかどうかわかりませんでした。
choose ok on visible confirmation
コマンドのリファレンスに、webdriver choose ok on visible confirmation
コマンドの記述を発見👀
https://www.seleniumhq.org/selenium-ide/docs/en/api/commands/#choose-ok-on-next-confirmation
Affects the next confirmation alert. This command will accept it. If the alert is already present, then use "webdriver choose ok on visible confirmation" instead.
choose ok on visible confirmation
は「次に」表示される確認アラートに適用します。「いま」表示中の確認アラートには、webdriver choose ok on visible confirmation
コマンドを使ってください。
そこで、click
コマンドの次に、webdriver choose ok on visible confirmation
コマンドを呼ぶようにしました。
Command | Target | Value |
---|---|---|
choose ok on next confirmation | ||
click | id=btnDelete | |
webdriver choose ok on visible confirmation |
selenium-side-runner
ヘッド有りで実行すると、確認アラートが一瞬表示されて、すぐに消え、次に進みました。
selenium-side-runner
ヘッドレスでも、エラーなく、先に進みました。
ブラウザツールバー「Se」ボタンから起動した場合も、B案で、問題ありませんでした。

ver3は、ver2のコマンドhtmlを読み込めるんだね

でも、廃止されたコマンドがあるから、いろいろ修正が必要よ