The Fabasoft app.test Recorder provides an interactive way to migrate tests to a newer version of an application.
This is accomplished through predefined XML files included in app.test Studio. These files can be used as they are or customized for individual use. They are found in the “Resources” folder of the app.test studio directory.
Migration Using the AriaMigration Tag
The AriaMigration tag allows for highly customizable control over migration rules via regular expressions und custom java methods passed in special migration classes within a jar file. Typically, a migration file will have multiple AriaMigration elements. By default, all of the given steps in the selected XML file are executed in order.
The AriaMigration element tag provides the following possibilities:
- The from attribute is given in form of a regular expression and requires a corresponding to value and an attribute value.
- The to attribute defines the string which will replace a match to the from value.
- The attribute value defines the location of the test statement to be matched with the from value. In most cases, this will be “attribute=’location’”.
- The method attribute the action the step will perform. It typically refers to one of the java String classes “replace”, “replaceFirst” or “replaceAll”. If the method is given “method=’java’” it may call a custom method further described by the javamethod, a javaclass and a jarfile attributes.
- The javamethod attribute defines the specific method to be called.
- The javaclass attribute specifies the class which contains the javamethod.
- Finally, the jarfile describes the path to a jarfile containing the javaclass called above.
- If the break attribute is set to true, the execution chain can be broken if a match is found.
Java methods may provide various alternative results to a migrated statement. If this is the case, only one alternative needs to be matched for the “break=’true’” attribute to be valid. In the interactive migration tool, the first alternative to match the control tree is used.
While the from value accepts input in the form of regular expressions, the “.” is replaced by “³”. This is to differentiate between the “.” as used in locations, and the “.” as used in strings.
Simplified Migration Using Patterns
When migrating tests to a version of Folio up to and including 16.0 it is often sufficient to define patterns which handle changes in the structure or names of controls.
A number of predefined migration files are available in app.test by default and can be directly selected within the “Start Recorder” dialog.
Using the Interactive Fabasoft app.test Recorder Migration Tool
To migrate a test perform the following steps:
- Open the “Start Recorder” dialog and switch to the "Migration" tab.
- On the “Migration” tab select the Fabasoft Folio versions between which you want to migrate a test.
- By selecting “Migrate during debugging” the test is automatically migrated while interpreting the test in the context of this recorder session.
- By selecting “Write comments” a comment is added to each adapted Execution in the “Source” view of the test.
- Click “ok" to start the migration.
- If the last statement of a file was successfully executed, the attribute migrated will be set to the root statement of the file. It contains the version of folio where the test was migrated to (major.minor.sub). If the current version of folio is higher or equal than the version in the migrated attribute, migration will be skipped within that file.