One software developer task is to validate changes you applied to an application. Ideally this is done with repeatable unit tests where certain initial scenarios are created and a certain final scenario are expected. This approach works well for a many application aspects but not well for user interface testing. This is because of problems in simulating user behavior such as clicking. Developers e