samedi 28 juin 2008
Récupéré une source XML avec Selenium
Si le content-type d'un document chargé par Selenium-RC est text/xml, application/xml ou application/xhtml+xml et que le navigateur utilisé est bien conforme aux normes du W3C, il est possible de récupérer, dans le langage de programmation utilisé pour piloter Selenium, le DOM sous forme de String. Libre à vous ensuite de le parser en activant la validation XHTML pour vérifier si vos pages sont correctes.
Votre serveur d'intégration continue pourra ainsi donner une nouvelle métrique, augmentant la qualité des pages générées par votre application Web.
Voici le code à utiliser avec le client Selenium:
String xmlString = browser.getEval("if (!browserVersion.isIE) {" + "if (this.browserbot.getCurrentWindow().document instanceof XMLDocument) {" + "new XMLSerializer().serializeToString( this.browserbot.getCurrentWindow().document ); }" + "} else {" + "var xmlDocument = this.browserbot.getCurrentWindow().document.XMLDocument;" + "if (xmlDocument != null) { xmlDocument.xml; } }"); System.out.println("test: " + xmlString);
Avoir des pages Web conformes à un standard, c'est la garantie de pouvoir être compris par un navigateur compatible avec ce standard. La bonne pratique sur le Web est de suivre un standard et de laisser les utilisateurs mettre à jour leur navigateur plutôt que de rendre compatible un site Web pour des versions de navigateurs spécifiques.