0

J'utilise Selenium pour notre automatisation de l'interface utilisateur. Nous avons des classes séparées pour les testcases, les utilitaires de navigation et les utilitaires de validation. Dans les utilitaires de navigation, nous écrivons des fonctions qui nous amènent d'une page à l'autre, en cliquant sur un bouton, en soumettant un formulaire, etc. Dans les utilitaires de validation, nous écrivons des méthodes qui nous aident à valider les étapes de test. J'ai remarqué que nous avons écrit des utilitaires de navigation (méthodes) sans aucune vérification et en nous appuyant sur des utilitaires de validation pour tout type de vérification. Disons que nous voulons écrire une méthode submitForm(). Dans cette méthode, nous n'effectuons qu'un clic sur le bouton sumbit (ce qui n'est pas correct selon moi). À mon avis, la bonne chose serait de faire une vérification de base dans le submitForm() lui-même (comme la validation du code de réponse, la validation de l'URL) et ensuite utiliser les utilitaires de validation pour des validations granulaires. Cela ajoute une couche supplémentaire de vérification et cela garantit à la personne qui écrit des tests que les navigations fonctionnent correctement. Ma question est, est-il préférable d'avoir quelques validations dans les utilitaires de navigation ou seulement la navigation devrait être faite dans les utilitaires de navigation et la validation de tout type devrait aller dans les utilitaires de validation?Dans l'automatisation de l'interface utilisateur, devrions-nous valider les changements d'état dans les utilitaires de navigation? Ou devrions-nous le faire dans une validation séparée util

+0

Veuillez clarifier votre problème spécifique ou ajouter des détails supplémentaires pour mettre en évidence exactement ce dont vous avez besoin. Comme c'est écrit actuellement, il est difficile de dire exactement ce que vous demandez. Voir la page [demander] pour obtenir de l'aide afin de clarifier cette question. Les questions d'opinion ne conviennent pas à SO. Je vous recommande d'essayer l'un des autres sites soeurs comme SQA, etc – JeffC

Répondre

1

Habituellement, je m'assure que la navigation est réussie (Statut HTTP 200 et chargement de la page terminée) avant de continuer. Mais ne mélangez pas cela avec des validations/assertions fonctionnelles que vous allez effectuer. De cette façon, vous pouvez suivre les erreurs de serveur comme 404/500 etc.

1

Permettez-moi de répondre à vos questions, un par un:

  1. We have separate classes for testcases, navigation utilities and validation utilities: Cette approche semble assez bon pour effectuer l'automatisation d'essais, mais idéalement une organisation devrait suivre l'un des framework approaches suivants mentionnés ci-dessous afin que de progresser lorsque le nombre de cas de tests, utilitaires & Validations sont nombreux un petit changement dans l'application doit être adopté par de petits changements dans votre cadre. Les cadres sont classés comme suit:

Module Based Testing Framework

Library Architecture Testing Framework

Data Driven Testing Framework

Keyword Driven Testing Framework

Hybrid Testing Framework

Behavior Driven Development Framework Cela dit, PageFactory En utilisant POM (Page Object Modeling) est l'un des meilleurs intermèdes de la performance de l'Automation Framework, la maintenance & réutilisation.

  1. validating the response code, validating the URL: Vous pouvez toujours faire ces Validations par le sélénium facilement dans une bibliothèque, même l'analyse du temps de réponse.

  2. Validation utils for much granular validations: Cela dépend beaucoup de la granularité que votre organisation souhaite tester. La majorité des fonctionnalités de navigation de la page Application Web sont validées par le biais de "Titre de page", "Icône de page" ou de certains "En-têtes de page".De plus, vous pouvez obtenir l'intégralité de la "Source de page" d'une page Web et valider les propriétés de la page Web.

Faites-moi savoir si cela répond à votre question.

+0

Je suis également un fan de POM pour l'automatisation de l'interface utilisateur, en particulier pour l'automatisation de sites Web. De cette façon, il est plus facile de savoir si le module dont vous avez besoin est déjà implémenté. Nous avons beaucoup de duplication dans les utilitaires de navigation et de validation juste parce que l'auteur de l'automatisation ne savait pas si la méthode dont il avait besoin était déjà là ou non et a fini par créer sa propre méthode. Revenons à ma question. Je pense que l'ajout d'une petite vérification dans les utilitaires de navigation est nécessaire. Vous devez vérifier que la méthode que vous avez utilisée fonctionne correctement.Eg. Lors de l'implémentation d'un module de connexion, je vois toujours que je suis connecté ou non – pkhabya

+0

@pkhabya Cela peut arriver lorsqu'une application évolue mais une fois que les pages Web sont prêtes, nous devons les déplacer dans PageFactory. Maintenant, si cette réponse répond à votre question, pouvez-vous accepter la réponse comme solution à votre question pour fermer le fil de discussion? S'il vous plaît upvote la réponse si c'était utile. Merci – DebanjanB