I've added a window declaration file for an application I'm trying to use for testing. It is not the AUT but one I'm using to help do some verification for the AUT.
When I use Record Window Identifiers on the Open file dialog box for this application, it returns:
DialogBox1.DialogBox("Open EFTS file"). And when I paste it into my frame.inc for this application, it shows the Open dialog's parent as "DialogBox1". But I can't "find" DialogBox1 anywhere in the application. I've tried hovering my mouse over as many parts of the app as I can but cannot find this dialog box to get a declaration on it.
So when I try to run a testcase and have it open a file, it fails because it can't find "DialogBox1".
Where is this phantom dialogbox "parent" and how do I get it declared so my script will run?
This also happens on a Save As dialog box in this application as well.
I've tried manually creating a "bogus" declaration for it with identifier DialogBox1 and tag ("#1") and making its parent the main window of the application. But farther down the road when I try to use the Save As dialog box--which is also looking for a DialogBox1 with the same tag, it fails. This particular Save As dialog is launched from another window from within the main app.
Search through your code for DialogBox1. It is most likely a previously recorded definition of the appropriate type/class. Your cutting and pasting must have somehow severed the dependency.
The recorder seems to look through existing declarations and reuse items which are 'close enough'. You can use DOS findstr if you have no idea what file it might be in. You can manually set the parent to something appropriate, but the recorder will not follow your lead, so to speak.
But I started the declaration file for this app from scratch and the only place I can see "DialogBox1" appearing is as the parent to the Openblahblahblah dialog and the Saveblahblahblah dialog after pasting to editor. DialogBox1 does not show in the window declaration window for these objects.
I searched through my AUT frame.inc file and a winclass include file and DialogBox1 does not appear there either.
If I try to compile the app's include file I get an error that DialogBox1 is not defined. Yet Silk isn't otherwise "seeing" it.
I just don't get it. Is there a setting or something that I'm missing? I had Record Multiple Tags unchecked. Would that make a difference?
P.S.- Segue's CEO today says it's "time for the next evolution in software quality and a collective move toward the goal of defect-free software". Let's hope that the SilkTest development team and QA staff was listening and understood what that meant.
Don't fret...there are a number of bizarre things we can still try. For example, we can ignore the DialogBox by using Style Bits, we can create a Window Declaration for the DialogBox that has questionable heritage.... I'm sure I'll think of some more things that may require you to wash after writing them.