Quelle est la bonne approche pour éviter que les tests Selenium ne soient interrompus lors de la modification des attributs "Name" et "Id" d'un contrôle rendu sur une page ASP.NET en utilisant une page maître? Je veux éviter de changer mes tests quand ASP.NET rend les contrôles de la page web avec différents identifiants DOM.Test des sites ASP.NET à l'aide de pages maître avec Selenium
Répondre
http://www.stevetrefethen.com/blog/AutomatedTestingOfASPNETWebApplicationsUsingSelenium.aspx
Sélénium résout ce problème en utilisant XPATH et offrant la possibilité de localiser contrôles basés sur les expressions XPATH, soulager la nécessité de coder en dur la structure de la balise HTML dans un script de test. Pour exemple, le runtime ASP.NET peut rendre les attributs d'identité qui ressemblent à:
id="ctl00_cphContents_gridMaint_DataGrid"
Trouver ce contrôle à l'aide d'un XPATH expression peut être simplifiée pour quelque chose comme ceci:
table[contains(@id, "gridMaint")]
Dans le cas où l'emboîtement du DataGrid modifie le script continuer à fonctionner correctement tant que comme ID de la table contient le texte "gridMaint".
Une autre option consiste à utiliser des localisateurs CSS. Ils sont normalement moins fragiles que XPath. Par exemple, pour cibler un div avec une classe de .myDiv, vous pouvez utiliser le localisateur "css = .myDiv". Si l'élément spécifié possède d'autres classes, le localisateur CSS fonctionnera toujours, bien que l'équivalent XPath passe de "// div [@ class = 'myDiv']" à "// div [contains (@class, 'myDiv']" De plus, les localisateurs CSS ont tendance à être plus rapide que XPath pour les navigateurs
- 1. Selenium Test Suites
- 2. jQuery dans une application ASP.net MVC avec Maître Pages
- 3. Transitions de pages sur des sites Web?
- 4. Passage de données de formulaire de la page maître à d'autres pages ASP.NET
- 5. Evénements et délégués avec des pages maîtres ASP.NET
- 6. Page maître ASP.NET et conteneurs
- 7. CSS dans les pages maître et les pages normales
- 8. Pages maîtres ASP.NET MVC
- 9. avoir javascript forcer un test Selenium à échouer
- 10. Puis-je partir avec des sites de test utilisant IE8 avec la compatibilité IE7?
- 11. Comment puis-je identifier l'hôte Selenium Grid exécutant mon test à partir du test?
- 12. développer des sites avec des applications Flex
- 13. Page maître ASP.NET dans un assemblage séparé
- 14. Implémentation d'une page maître «inversée» ou «imbriquée» avec ASP.NET
- 15. structure de données laide à la recherche java
- 16. Problème avec l'ordre d'événement des pages maîtres
- 17. Comment sécuriser des pages Web dans ASP.Net avec des rôles?
- 18. Profilage des sites Web ASP.NET avec EQATEC Profiler
- 19. Comment forcer une nouvelle collection de sites à hériter d'une page maître?
- 20. Sites Web multilingues avec ASP.NET MVC
- 21. Réutilisation des contrôleurs dans différents sites Web avec asp.net mvc
- 22. Définition du titre de page à partir de la directive @ Page dans ASP.NET à l'aide des pages maîtres
- 23. Vue maître-détail ASP.NET MVC
- 24. Aide avec Selenium Maven Cargo
- 25. Gestion des annonces pour les sites ASP.NET
- 26. Page maître ASP.NET + pageLoad() = tue jquery?
- 27. Site sécurisé asp.net qui utilise des pages maîtres avec authentification par formulaires
- 28. Sites Web compatibles avec iPhone avec ASP.NET MVC
- 29. Page maître ASP.NET: erreur de validation d'événement
- 30. service web de test de charge/test de stress
C'est exactement ce dont j'ai besoin. Je suis curieux de savoir où je ferais cette modification à mon test. Test de sélénium, ou fait par l'API fournie? Puis-je utiliser cette technique avec l'API comme je modifie les tests que je code en utilisant .NET? – Achilles
Je l'ai trouvé! Merci encore! – Achilles