Erreur Webdriver: "Aucune alerte n'est présente" après le lancement de UnexpectedAlertPresentException

Je suis en train de tester une application web que je suis en développement. J'utilise Firefox pilote contre Firefox 22.0.

À un point, une boîte de dialogue modale peut pop-up (un Javascript prompt()). Si c'est le cas, je veux entrez du texte, puis de le rejeter (cliquez sur OK).

Voici le code correspondant:

try:
    if button.text == "Run":
        button.click()
except UnexpectedAlertPresentException:
    alert = self.driver.switch_to_alert()
    print alert.text
    alert.send_keys('8080')
    alert.dismiss()

La UnexpectedAlertPresentException est être jeté. Cependant, dès qu'il essaie d'exécuter print alert.textj'obtiens:

`NoAlertPresentException: Message: u'No alert is present'`.

Si je supprime l'instruction print, elle explose au alert.send_keys avec:

`WebDriverException: Message: u'fxdriver.modals.find_(...) is null'`

Je ne l'obtenez pas. N'est-ce pas le NoAlertPresentExceptionpar définition, de contredire le UnexpectedAlertPresentException qui a été jeté et a causé l'exception du bloc exécuté en premier lieu?

Edit: Aussi, je ne peux pas pour la vie de me trouver toute la documentation sur le UnexpectedAlertPresentException dans http://selenium.googlecode.com/svn/trunk/docs/api/py/index.html#documentation

Edit 2: c'est Ce que j'ai maintenant:

try:
    if button.text == "Run":
        button.click()

        alert = self.driver.switch_to_alert()

        alert.send_keys('1111')
        alert.dismiss()

 except NoAlertPresentException:
     pass

Cependant, je suis toujours de voir ce:

WebDriverException: Message: u'fxdriver.modals.find_(...) is null' 

sur la ligne alert.send_keys('8080'). Je suppose que je ne comprends pas pourquoi switch_to_alert() ne jette pas NoAlertPresent si il n'y a pas un système d'alerte...qui est ce que je suis en supposant que le WebDriverException indique.

source d'informationauteur Isaac Dontje Lindell