J'ai une requête Dans notre application, nous avons beaucoup de balises HTML. Au cours du développement, de nombreux tags n'ont reçu aucun identifiant car aucune exigence n'est requise. L'équipe d'assurance qualité souhaite désormais automatiser les tests en utilisant QTP. Dans la plupart des cas, cet outil ne reconnaît pas car il ne trouve pas d'identifiants pour la plupart des balises HTML. Maintenant, on nous demande d'ajouter des identifiants à tous les balises HTML. Je veux savoir s'il y aura un effet en ajoutant un attribut id à ces balises. Même les effets positifs sont les bienvenusAjout d'ID aux balises HTML pour l'automatisation QA
Répondre
Je ne pense pas qu'il y aura un effet positif ou négatif: peut-être que la taille de la page HTML augmentera un peu, mais probablement pas autant.
Toujours, êtes-vous sûr de devoir mettre des attributs "id" sur chaque balise HTML de vos pages? Est-ce que non seulement quelques-uns seraient suffisants? Comme sur les champs de formulaire, sur les liens, sur les messages d'erreur; et c'est probablement à propos de ça? Cependant, une chose que vous devez faire attention est que "id", comme dans "identifers", doit être unique; ce qui implique qu'il pourrait être bon, avant de commencer à les ajouter, de définir une sorte de "politique d'identité", pour dire, par exemple, que "les identifiants d'éléments de ce genre devraient être nommés de cette manière".
Et, pour vos prochains projets: ont developpeurs ajouter ceux quand theyr're ;-)
développer (Et après la politique, bien sûr)
Maintenant que je pense à ce sujet : un effet positif pourrait être qu'il sera plus facile d'écrire du code Javascript interagissant avec votre document HTML - mais cela sera vrai pour les prochains projets ou évolutions pour celui-ci, quand ces id sont déjà présents dans le HTML à ce moment-là les développeurs mettent le code JS en place ...
+1 pour la note doit être unique. J'ai été choqué de constater que de nombreux développeurs pensaient que c'était "juste une ligne directrice" et que les doublons étaient corrects. J'ai essayé de conseiller, mais ils semblent contents de naviguer sur le Titanic de toute façon. – scunliffe
Si vous parlez des effets secondaires - NO. L'ajout d'identifiants ne causera aucun problème (à part prendre quelques octets supplémentaires bien sûr)
Si vous avez vraiment besoin d'ajouter des identifiants, allez-y et ajoutez-les.
http://www.w3.org/TR/html4/struct/links.html#anchors-with-id dit:
Les attributs id et name partagent le même espace de nom. Cela signifie qu'ils ne peuvent pas à la fois définir une ancre avec le même nom dans le même document. Il est permis d'utiliser les deux attributs pour spécifier l'identifiant unique d'un élément pour les éléments suivants: A, APPLET, FORM, FRAME, IFRAME, IMG et MAP. Lorsque les deux attributs sont utilisés sur un seul élément, leurs valeurs doivent être identiques.
Puisqu'il n'y a pas encore de réponses liées au QTP.
La reconnaissance de GUI dans QTP est orientée objet. Afin d'identifier un objet, QTP a besoin d'une combinaison unique de propriétés d'objets, et de mieux les vérifier pour être aussi rapide que possible - c'est pourquoi HTML ID serait idéal. Maintenant, là où c'est particulièrement critique - pour les objets qui n'ont pas d'autres identifiants uniques. L'exemple le plus typique - les tables html. Leur contenu est dynamique, leur nombre sur la page peut varier. En ajoutant un identifiant HTML, vous permettez au mécanisme de reconnaissance de se positionner directement sur la bonne table.
Objets avec d'autres propriétés uniques peuvent être bien reconnus sans HTML ID. Par exemple, si vous avez un seul lien "submit" sur la page, QTP le reconnaîtra avec succès par le texte interne. Donc, la réponse spécifique au contexte: ne commencez pas à ajouter des identifiants à chaque balise unique.Demandez aux gars de l'automatisation de préparer une liste d'objets avec lesquels ils ont des problèmes. Et ajouter des identifiants à ces objets.
PS. Cela dépend aussi des compétences en programmation d'automatisation. Il existe des méthodes descriptives de programmation et de reconnaissance dynamique. Ils permettent de récupérer les bons objets même sans les identifiants fournis.
Comme Albert dit, est-ce que QTP de nombreuses applications Web génèrent différentes id
s pour chaque session, (pour autant que je me souviens) pas compter uniquement sur des éléments id
, en fait, en raison du fait de la propriété id
n'est pas partie de la description par défaut pour la plupart des objets de test Web. QTP reconnaît assez bien les contrôles web les plus simples et si vous rencontrez des problèmes, il se peut qu'un projet Web Extensibility vous aide à combler le fossé entre la sémantique de votre application Web et le HTML brut qu'elle est créée Si un contrôle complexe est reconnu par QTP comme WebElement
(qui est en fait le div
qui contient le span
qui conduit le code) vous aurez naturellement des problèmes de reconnaissance d'objet car il y a beaucoup de div
s sur la page mais probablement beaucoup moins complexe contrôles.
Dupliquer: http://stackoverflow.com/questions/1230738/how-can-i-automatically-validate-that-i-have-an-html-id-on-every-element – NickFitz
Ajouter des tags "automated- tests "," gui-automation " –