Fermer

juillet 2, 2019

Identification des éléments basée sur l'image par Test Studio


Le dernier et le plus important Test Studio est enfin disponible! Dites bonjour à la première combinaison du secteur entre l'identification d'élément basée sur des attributs et sur une image, qui réduira considérablement votre temps de maintenance et rendra vos tests plus stables que jamais.

«La première règle de toute technologie utilisée dans une entreprise est cette automatisation appliquée à une opération efficace en augmentera l'efficacité. La seconde est que l'automatisation appliquée à une opération inefficace augmentera l'inefficacité. "

– Bill Gates

Très souvent, nous, les ingénieurs en assurance qualité, automatisons une fonctionnalité et exécutons le test enregistré avec succès pour la première fois. résultat rouge. Après une enquête plus approfondie, il s'avère que nous avons affaire à des éléments dynamiques. Les éléments dynamiques sont des éléments dont les attributs changent chaque fois que vous rechargez la page, et ces attributs peuvent être, sans s'y limiter, un ID, un nom de classe, une valeur, etc. Vous ne pouvez donc pas gérer les éléments dynamiques simplement par leurs localisateurs.

les éléments de menu de la page d'accueil de Yahoo utilisent des identificateurs dynamiques, comme indiqué dans la capture d'écran ci-dessous

 yahoo "title =" yahoo "/> </p>
<pre><code class= < span id = " yui_3_18_0_3_1562031393939959 » class = "D (ib) Fz (14px) Fw (b) Va (t) C (# 4d00ae) Lh (37px)" > Courrier </ span [19659008]>

L'utilisation du localisateur d'ID ici entraînera un échec du test lors de la prochaine exécution du test. Dans ce cas, l'ID n'est pas le localisateur le plus fiable que vous devez utiliser pour créer votre scénario de test.

Passez en revue les techniques les plus courantes permettant de traiter de tels problèmes à l'aide de n'importe quel outil d'automatisation, et comment cela a été fait avec Test Studio avant la dernière version de R2 2019 . [19659020] Absathute XPath

Absolute XPath commence par la racine de la page HTML.

Exemple:

 / html [ 1 ] / body [ 1 ] / div [ 2 ] / div [ 1  ]]] / div [ 1 ] / div [ 1 ] / div [ 1/19659008]] / div [ 1 ] / div [[19659008] 1 ] / div [ 2 ] / div [ 1 ] / ul [ 1 ] / li [ 3  ] / a [ 1 ] / span [ 0 ] 

Cependant, les chemins absolus ne sont pas recommandés la plupart du temps car:

  • les chemins absolus ne sont pas fiables car mineurs. le changement structurel entraîne un Xpath différent pour l'élément
  • Les chemins absolus sont longs, ce qui les rend difficiles à lire

Remarque: les chemins absolus ne doivent être utilisés que lorsqu'un Xpath relatif ne peut pas être construit.

XPath relatif

Les XPath relatifs sont utilisés pour localiser un élément par rapport à un élément appelé XPath. L'élément de votre choix est référé par rapport à un élément connu. Les chemins relatifs commencent par deux barres obliques " // "

Exemple:

 // a [@id= "uh-mail-link" ] / a / span 

Avec le Xpath relatif ci-dessus, nous localisons d'abord l'élément d'ancrage parent avec id uh-mail-link puis nous localisons l'élément span avec lequel nous souhaitons travailler.

Avec le Xpath relatif. vous pouvez construire une logique de recherche assez robuste et donc des tests plus fiables.

Malheureusement, il existe toujours un cas où même le Xpath relatif n'aidera pas. Imaginez un développeur qui décide de réécrire certaines fonctionnalités. Même si la conception de la page Web a la même apparence, un élément du code suivant est modifié et affecte les tests existants.

Dans de tels cas, même si vous utilisez des sélecteurs CSS au lieu de Relative Xpath, les tests échouent car les sélecteurs CSS reposent sur des classes CSS et la structure des éléments.

Attends une minute! Arrêtez cette maintenance de test sans fin!

Avec la nouvelle version de Test Studio R2 2019 vous pouvez éviter tous les problèmes mentionnés ci-dessus, car nous avons introduit une première combinaison dans l'industrie entre l'identification d'éléments basée sur des attributs et sur une image. Cela réduit considérablement les échecs de test et vous permet de vous concentrer sur les vrais bugs plutôt que sur une maintenance de test fastidieuse.

De nos jours, tous les outils et frameworks de test automatisés fonctionnent avec une logique de recherche basée sur des attributs ou une logique de recherche basée sur des images. De Studio de test, nous avons réfléchi sérieusement à rendre l'expérience de recherche logique aussi conviviale que possible, et avons décidé de combiner les deux approches en une. Le résultat est que les échecs de test dus à des éléments manquants sont presque impossibles.

Alors, quelle idée?

Test Studio utilise une combinaison unique d'attributs d'élément pour identifier les éléments, ce qui fonctionne très bien dans la plupart des cas. Mais parfois, un identifiant change de façon dynamique ou un développeur change quelque chose et le test échoue. Ici, la nouvelle technologie vient à la rescousse. Pendant l'enregistrement de test, Test Studio enregistrera également des images pour chaque élément. Lorsque la logique de recherche traditionnelle échoue, elle essaie immédiatement de trouver l'image respective, puis nous identifions l'élément qui se trouve derrière et exécutons l'étape, qu'il s'agisse d'un simple clic, d'un type, d'une bascule de bouton ou d'un changement de filtrage de grille plus complexe, par exemple. Le test réussit avec le statut vert avec juste un avertissement vous informant que la logique de recherche traditionnelle a échoué.

Vous pouvez également ajouter une nouvelle image d'élément ou modifier et mettre à jour une image déjà enregistrée en téléchargeant directement un nouveau fichier ou en utilisant notre tout nouvel enregistreur d'image interne.

En pratique

Utilisation du site Web de Yahoo et Test Studio, j'ai enregistré un scénario assez simple en naviguant jusqu'à http://yahoo.com et en cliquant sur l'élément Mail dans le coin supérieur droit de la page d'index.

 Magnifier "title = "Loupe" /> </p>
<p> Dans Test Studio, cela représente en deux étapes, une étape de navigation et une étape de clic: </p>
<p> <img decoding= cet article de la Base de connaissances !

Des tests optimaux!

Si vous souhaitez essayer notre fonction de recherche élément par image, vous pouvez commencer une essai gratuit et pleinement fonctionnel de 30 jours:

Try Test Studio





Source link