This support note describes the structure of a playback synchronization that is based on use of extraction of clipboard text.
Because the process of extracting data into the clipboard is a multi-step process (see below), there is no internal synchronization mode that can repeatedly check current values to determine if synchronization has been established.
For example, the SyncOnText command uses a built-in internal loop to continually check the contents of the selected text until a match occurs, or until the time limit is exceeded. The same applies with SyncOnImage, which reads the screen and compares the current with the stored checksum. In both cases both the retry interval and the maximum retry time are set in the eValid environment.
In this solution, we use a GoScript command and a looping script to accomplish the same result.
Playback begins in Part1.evs, which ends when the synchronization step is to start. Then SOCC.evs tries to confirm that the clipboard has the required content. If it doesn't then the OnErrorGoScript command takes over and re-launches playback at the beginning of the SOCC.evs script. After the synchronization happens, control is transferred to Part2.evs where the rest of the test is expressed.
Part1.evs: # This script is the first part of two parts. # # The synchronization step is accomplished after Part1.evs # and after synchronization, activity picks up with Part2.evs. ... GoScript SOCC.evs SOCC.evs: # SOCC = Synchronize On Clipboard Content # # This script synchronizes on what the playback process # collects into the clipboard. The main point about this # script it is that it is an "infinite loop" that ends # as soon as the required synchronization is accomplished. ... OnErrorGoScript SOCC.evs ... # ...actions to put data into the Clipboard... ... ValidateClipboardText "...details for this command..." ... GoScript Part2.evs Part2.evs: # This script is the second part of two parts. # # Control of the playback process starts after the SOCC.evs # script has completed.