Wie teste ich modale Dialoge mit Selen?

8

Ich beginne mit Selenium IDE und versuche eine Webapp zu testen, die voll von modalen Dialogen ( window.showModalDialog ) ist.

>

Die Aufzeichnung des Tests scheint zu funktionieren (außer es ist nichts im Protokoll, wenn das Dialogfeld erscheint), aber sie werden nicht korrekt wiedergegeben. Das Skript öffnet das Fenster (ausgelöst durch einen Klick auf die Schaltfläche), wartet dann aber unbegrenzt.

Irgendwelche Vorschläge?

    
Michael Haren 15.05.2009, 03:31
quelle

4 Antworten

3

Aus dem Selenium FAQ funktioniert Selenium anscheinend mit einigen Arten von Dialogen, aber nicht mit anderen:

  

Ich kann nicht mit einem Popup-Dialog interagieren.   Mein Test stoppt in seinen Spuren!

     

Sie können, aber nur wenn der Dialog ein ist   Alarm- oder Bestätigungsdialog Andere   spezielle Dialoge können nicht von abgewiesen werden   Javascript und somit kann derzeit nicht   mit interagiert werden. Dazu gehören die   "Datei speichern", "Dieses Passwort merken"   (Firefox) und modale (IE) Dialoge.   Wenn sie erscheinen, kann Selen nur   in Verzweiflung die Hände abwehrend.

     

Um dieses Problem zu lösen, können Sie a   Workaround (falls vorhanden); Andernfalls   Sie müssen den Test möglicherweise ausschließen   Ihr automatisierter Korpus. Für die "Speichern   Datei "Dialog in Firefox, eine benutzerdefinierte   Vorlage kann beim Ausführen angegeben werden   über die RC, die immer die verursachen wird   Datei, die zu einem angegebenen heruntergeladen werden soll   Standort, ohne den Benutzer abzufragen   (sehen    Ссылка ).   Der Dialog "Passwort speichern"   sollte nicht wieder erscheinen, nachdem du es getan hast   gewählt, um es zu erinnern. Momentan da   ist nicht viel, was über IE getan werden kann   modale Dialoge.

Ich kann mich daran erinnern, dass jemand mit einem AutoHotKey -Skript, das den Dialog geschlossen hat, daran gearbeitet hat.

    
Pete TerMaat 15.05.2009, 03:54
quelle
3

Ich habe schon seit einiger Zeit Selenium IDE benutzt, um jQuery Modals zu testen, ich hatte nie Probleme. Hier sind die Dinge, die ich tue, um sicherzustellen, dass der Test bei der Wiedergabe korrekt ausgeführt wird:

  • Führe das Skript mit der langsamsten Geschwindigkeit aus
  • Wenn das Modal geöffnet wird, verwende ich den Befehl waitForElementPresent, um das Vorhandensein von mindestens einem der konstituierenden Elemente auf der Seite zu überprüfen. Wenn ein Element korrekt geladen wird, kann davon ausgegangen werden, dass alle Elemente und damit das modale Fenster korrekt geladen sind.

Hoffe, das hilft. Wenn Sie weitere Hilfe benötigen, können Sie den Code mit mir zusammen mit dem Fehler bei der Ausführung teilen, den die IDE Ihnen anbietet.

    
Tiquelou 01.07.2011 07:58
quelle
2

Modal Fenster gehackt :) Ссылка

    
Amit 19.06.2009 21:55
quelle
0

So behandle ich Popup-Alarm in Selenium IDE

Klicken Sie mit der rechten Maustaste auf das Element (in diesem Fall Ihr Popup-Fenster). Sie können einen Befehl auswählen. Es gibt auch eine Liste aller verfügbaren Befehle, die eine Hilfe sein könnten. Sie sollten AssertElementPreset verwenden und ich denke, der beste Locator in diesem Fall ist CSS. Sie können also AssertElementPresent wählen.

Oder

Sie können zwei Befehle auf Selenium IDE verwenden

%Vor%

Hoffe, das hilft!

    
Emy Jamalian 26.01.2016 14:40
quelle