A much better way to do this is with a scripted testing application.
There are many testing applications that do this. You create a script to perform all the clicks and keystrokes. Create once, run many times. This completely removes user error and interaction from the test environment.
I initiallythought about some sort of Bot, and I even tried it, but the program being tested have lots of random parts that doesn't work with bots as it pulls information from a third party feed online which it creates a situation from and the user is required to respond to that in the correct way.