Le constat
Par défaut, dès que vous avez une authentification basique HTTP dans votre site, Selenium IDE ne sait pas gérer et ne peut poursuivre l’exécution des tests.
Dans la cas de tests manuels, ce n’est pas un problème :
- on s’authentifie sur le site
- on lance ensuite la suite de tests enregistrées sous Sélénium
Dans le cas où l’on souhaite automatiser les tests (via Hudson par exemple), là ça ne marche plus.
La solution
Pour Firefox
- ouvrir une fenêtre avec about:config
- rajouter une clé numérique avec les données suivantes
- nom : network.http.phishy-userpass-length
- valeur : 255
- valider
Pour Internet Explorer
- Editer la base de registre
- Dans la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
- ajouter un DWORD avec les données suivantes :
- nom : iexplore.exe
- valeur : 0
- valider
Et finalement, dans Selenium IDE utiliser la commande Open avec l’url suivante http://user:[email protected]/
Vous pouvez ainsi continuer vos tests.
Désormais vous n’avez plus d’excuses pour ne pas les mettre en place
Les sources
- FAQ Selenium : How do I use Selenium to login to sites that require HTTP basic authentication (where the browser makes a modal dialog asking for credentials)?
- Question/Réponse sur Stackoverflow