1. A computer-implemented method comprising: reading a user interface of a first application dynamically at test time without prerecording a hierarchy of the user interface based on user action to determine a first user interface element within the user interface including a first property of the first user interface element; matching the first user interface element with a first test element based on the first property of the first user interface element at run-time of a test of the first application, the first property not including screen location information; executing the first test element on the first user interface element matching a second user interface element of the application with a second test element based on a property of the second user interface element; and executing the second test element on the second user interface element, wherein the second test element and first test element are stored in a test module reading a user interface of a second application to determine a third user interface element within the user interface including a third property of the third user interface element; matching the third user interface element with the first test element based on the third property of the third user interface element at run-time of a test of the second application; and executing the first test element on the third user interface element, wherein the first application and second application are different programs having different user interfaces.