Are you tired of having to test your functionality that requires user input from the graphics window of the application? It costs time and money for seemingly mundane tasks. FCSI has developed an event recorder and playback module that allows you to test your interactive functionality automatically. Whether using MUnit (Magik Unit Testing) as your testing mechanism or your own testing mechanism, you can integrate graphic window events into your testing environment.
The event recorder and playback mechanism can handle the following events:
- Mouse - Press, release, drag, single click and multiple click
- Mouse Modifiers - Shift, Control, Alternate, and any combination
- Function Keys - F5, F6, etc, and their modifiers
- Keyboard Events - such as %C for closing trails
Click on one of the following icons for a video demonstration of how to record, playback and save events.
The event recorder is easy to use and access from your test code. You control the environment the events will be run under, by executing the appropriate actions to get to the state you desire. You can run any number of event playbacks that your test requires.
The following is an example. You are testing a wizard that requires the user to select one feature, then another GUI is displayed where the user enters data, and then the user must select another feature to connect the features together. To do this your code would look something like the following.
_global test_wizard << _proc(swaf) #Get the recorderer _local er << swaf.plugin(:event_recorder) swaf.plugin(:my_wizard).action(:start).execute_action() # Select the first feature er.fcsi_play_file("C:\events\select_first_feature.xml") # Get a handle on the popup GUI's value you want to change # In this case the action is :value1, and the value will be :connect swaf.plugin(:my_wizard).action(:value1) << :connect # Select the second feature er.fcsi_play_file("C:\events\select_second_feature.xml") # Now you can test your connection code for these two features here _if _not swaf.plugin(:my_wizard).validate_features? _then condition.raise(:error,:string,"Failed connection test") _endif _endproc
This test can be run every time there is underlying code changes to verify that the changes did not affect the original expected results. This saves a very large amount of time testing and increase your quality control.
This solution to testing wizards is much more economical compared to testing the functionality by hand or buying and training in the use of 3rd party testing tools such as Winrunner.