7.3.2. Bevorzugter Locator: HTML-ID

Selenium unterstützt eine Reihe von Locatoren um HTML-Komponenten zu identifizieren. Die Lesbarkeit der Locatoren ist dabei nicht zwingend erforderlich, da sie innerhalb der Modellklassen gekapselt sind. Dennoch empfehlen wir HTML-IDs als Locatoren zu verwenden. Dies hat im Wesentlichen zwei Gründe. Zum einen sind HTML-IDs robuster im Hinblick auf Änderungen an der Web-Anwendung. Ein neues Layout der Webseite hat keine Auswirkung auf die HTML-IDs, sodass keine Anpassungen an den Modellklassen erforderlich sind. Bei der Verwendung von XPath-Ausdrücken als Locatoren wäre die Änderung massiv. Zum anderen bietet die Verwendung von HTML-IDs in einigen Browsern Performance-Vorteile. In allen Versionen des Internet Explorers sind die vorhandene XPath-Engines sehr langsam, sodass die Testausführung bei intensiver Verwendung von XPath-Locatoren deutlich länger dauert. Hinzu kommt, dass bei der Verwendung von WebDriver als Fernsteuerung, im Vergleich zu Selenium RC nur eine Teilmenge der Locatoren verwendet werden kann. Die Verwendung von HTML-IDs unterstützen beide Ansätze, sodass auch die Wiederverwendbarkeit der Modellklassen für Selenium RC und WebDriver gegeben ist.

Diese Empfehlung bedeutet natürlich auch, dass bei der Entwicklung der Webseiten entsprechende HTML-IDs zu vergeben sind. Gerade bei bestehenden Anwendungen kann die nachträgliche Einführung von HTML-IDs jedoch sehr aufwändig sein.