11. A computer program product, stored on a non-transitory machine-readable storage medium, for generating one or more test utility classes for use in testing a user interface of a web application, comprising instructions operable to cause a computer to: provide source code for the web application user interface, the source code including one or more user interface elements; compile the source code to generate user interface elements to be rendered on the user interface, wherein compiling further includes invoking a test utility class generator framework and passing a user interface object tree that includes the one or more user interface elements to the test utility class generator framework; analyze, by the test utility class framework, the user interface object tree to identify a set of basic user interface elements on the rendered user interface and to compute an extensible markup language path for each user interface element in the hypertext markup language rendered for the user interface; and generate, based on the analysis, one or more test utility classes for use in testing the rendered user interface.
11. A computer program product, stored on a non-transitory machine-readable storage medium, for generating one or more test utility classes for use in testing a user interface of a web application, comprising instructions operable to cause a computer to: provide source code for the web application user interface, the source code including one or more user interface elements; compile the source code to generate user interface elements to be rendered on the user interface, wherein compiling further includes invoking a test utility class generator framework and passing a user interface object tree that includes the one or more user interface elements to the test utility class generator framework; analyze, by the test utility class framework, the user interface object tree to identify a set of basic user interface elements on the rendered user interface and to compute an extensible markup language path for each user interface element in the hypertext markup language rendered for the user interface; and generate, based on the analysis, one or more test utility classes for use in testing the rendered user interface. 16. The computer program product of claim 11 , wherein the instructions to generate one or more test utility classes includes using shared test utility classes from one or more libraries of basic test utility classes to construct the one or more test utility classes for use in testing the rendered user interface.