views:

1564

answers:

2

I'm getting started with Selenium IDE and trying to test a webapp that's full of model dialogs (window.showModalDialog).

Recording the test seems to work (except there's nothing in the log when the dialog pops up) but they don't play back properly. The script actually opens the window (triggered by a button click), but then just waits indefinitely.

Any suggestions?

+2  A: 

From the Selenium FAQ, Selenium apparently works with some types of dialogs but not others:

I can't interact with a popup dialog. My test stops in its tracks!

You can, but only if the dialog is an alert or confirmation dialog. Other special dialogs can't be dismissed by javascript, and thus currently cannot be interacted with. These include the "Save File", "Remember this Password" (Firefox), and modal (IE) dialogs. When they appear, Selenium can only wring its hands in despair.

To solve this issue, you may use a workaround (if one exists); otherwise you may have to exclude the test from your automated corpus. For the "Save File" dialog in Firefox, a custom template may be specified when running via the RC that will always cause the file to be downloaded to a specified location, without querying the user (see http://forums.openqa.org/thread.jspa?messageID=31350). The "Remember this Password" dialog should not appear again after you've chosen to remember it. Currently there is not much that can be done about IE modal dialogs.

I seem to remember someone working around this with an AutoHotKey script that dismissed the dialog.

Pete TerMaat
The problem is that these aren't small dialogs--they are rich interfaces that need tested. I'll try something else, I guess. Thanks!
Michael Haren
+1  A: 

Modal window hacked:) http://seleniumdeal.blogspot.com/2009/01/handling-modal-window-with-selenium.html

Not as straight forward as I'd like but a way out--thanks!
Michael Haren