Most of the currently available web frameworks use dynamic IDs (note: There is no connection between dynamic IDs and dynamic websites. For information on dynamic sites see Dynamic and static website testing).
When employing a web application test tool which identifies the components of the application based on their ID (see also Approaches of functional web testing software), there can be problems while replaying test cases. Components can’t be found by the web application test tool anymore, since their ID changed. Depending on the used technology this can already happen e.g. for Ajax applications when partially refreshing a page (see also Ajax test).
But URLs can be generated dynamically as well and cause problems for certain web application test tools. Often only parts of the ID or URL are dynamic and additionally contain the Session ID. For URLs the dynamic part can also be caused by the passing of parameters.
figure 1 example of a dynamic ID/URL
web2test - a web application test tool developed by itcampus – also uses IDs for the identification of components. But unlike most other web application test tools it also uses different attributes besides IDs for a clear identification of components:
Furthermore a name resolver for the customization or definition of single component names can be integrated via the scripting interface which additionally improves and accelerates the recognition of components.
figure 2 example of a web2test name resolver for ExtJs
Since only URL information concerning the domains and not single pages are recorded by the web application test tool web2test, in most of the cases dynamic URLs do not pose a problem even without a name resolver. As of version 1.1 the web application test tool has integrated Feature Resolver for the identification of additional attributes for a precise identification of GUI elements (further information regarding the features of web2test can be found in the following article about the web2test web testing tool or in the feature list).
The “Testing dynamic IDs with a web application test tool” article in German: