開発中の Web アプリケーションをテストしようとしています。Firefox 22.0 に対して Firefox ドライバーを使用しています。
ある時点で、モーダル ダイアログがポップアップする場合があります (Javascript prompt())。含まれている場合は、テキストを入力してから閉じます ([OK] をクリックします)。
関連するコードは次のとおりです。
try:
if button.text == "Run":
button.click()
except UnexpectedAlertPresentException:
alert = self.driver.switch_to_alert()
print alert.text
alert.send_keys('8080')
alert.dismiss()
UnexpectedAlertPresentException
が投げられています。ただし、実行しようとするとすぐにprint alert.text
、次のようになります。
`NoAlertPresentException: Message: u'No alert is present'`.
printステートメントを削除すると、次のように爆発しalert.send_keys
ます:
`WebDriverException: Message: u'fxdriver.modals.find_(...) is null'`
理解できません。定義上、スローされ、except ブロックが最初に実行される原因とNoAlertPresentException
矛盾していませんか?UnexpectedAlertPresentException
編集:また、私は一生、UnexpectedAlertPresentException
http ://selenium.googlecode.com/svn/trunk/docs/api/py/index.html#documentationでドキュメントを見つけることができません
編集2:これは私が今持っているものです:
try:
if button.text == "Run":
button.click()
alert = self.driver.switch_to_alert()
alert.send_keys('1111')
alert.dismiss()
except NoAlertPresentException:
pass
しかし、私はまだこれを見ています:
WebDriverException: Message: u'fxdriver.modals.find_(...) is null'
ラインでalert.send_keys('8080')
。switch_to_alert()
アラートがない場合にスローしない理由が理解できないと思いNoAlertPresent
ます...これは、WebDriverException
が示していると想定しているものです。