Filed under: Certify, Dialog, Fire Event, HTML, Interface, locks up, Lockup, modal dialog, Popup, Set Property, Web [Edit Tags]
Symptom
You are running a test using the Certify HTML (Web) Interface. You attempt to use the Input or Type Keys action to input text into a field on the screen and a dialog box pops up which must be dismissed before continuing. While the dialog box is present both your application and Certify just sit there apparently locked up. You can manually dismiss the dialog box and Certify execution continues.
Cause
The Edit box has an "onchange" event which is being fired as soon as text is entered into the field. The event triggers a verification which opens a modal dialog box and locks up both the AUT
(application under test) and Certify.
This occurs because both Certify and the AUT are running in the same process space in Windows.
Workaround
To get around this issue, use the Set
Property action on the Edit box object to set the "value" property of the Edit box and then use the Fire Event action to fire the "onchange" event. Setting the "value" property of the Edit box using Set Property returns control back to Certify very quickly which allows Certify to then bypass the AUT's event trigger. The Fire Event
action is then used to trigger the "onchage" event manually before the application has a chance to interfere.
Why this works
The Fire Event action kicks off a FireEvent.exe application, which is "out of process"
with Certify and the AUT, to perform the "onchange" event and actuate the modal dialog popup. Because
the FireEvent.exe is not in the same process with Certify and the AUT,
the modal dialog box will lock up the FireEvent.exe process instead of Certify. As Certify does not get locked up by the modal dialog, it can continue
running in order to dismiss the dialog box and continue with the next step in the process execution.