| @技術/プログラミング

Capybara + Selenium でテストしていて、JavaScript の alert() の中身を調べたいとき、 ただ単に

it 'alert の中身は「うんこ」' do
  find('#unko').click
  page.driver.browser.switch_to.alert.text.should == 'うんこ'
end

とかやるだけでは Selenium::WebDriver::Error::UnhandledAlertError が発生する。

it 'alert の中身は「うんこ」' do
  find('#unko').click
  page.driver.browser.switch_to.alert.text.should == 'うんこ'
  page.driver.browser.switch_to.alert.accept
end

というように最後に OK ボタンを押す操作を追加してあげないといけない。