I don't really "get" GUI automation.  The only bugs that GUIs can have are "this is ugly", "this is spelled wrong", "this is confusing", and so on.  You can't automate that testing away; a human will have to click through and tell you what he thinks.<p>The actual program logic is tested by the usual integration/unit tests, not by clicking buttons in the GUI.  (And if you are worried about "what if clicking button foo doesn't run function foo", then you need to write more tests for the GUI generator library, not for your application.)