I. Introduction
System-level test automation has gone through multiple generations, where each new generation has raised the level of abstraction used in the test design. The state of the art test automation, the keyword-driven testing process, abstracts the implementation of tests behind high-level actions, i.e. keywords [1, pp. 446–464] [2]. In GUI testing, keywords typically depict basic user actions, such as pressing keys, typing or reading text. The tests are built as sequences of keywords, and keywords are automatically translated into concrete low-level scripts. The abstraction can be increased further by dividing keywords into different hierarchical levels. For instance, low-level concrete scripts may be abstracted under lower-level keywords, and lower-level keywords under higher-level keywords.