Maison  >  Article  >  développement back-end  >  Tests automatisés Web (3) Selenium+beatuifulsoup

Tests automatisés Web (3) Selenium+beatuifulsoup

little bottle
little bottleavant
2019-04-10 13:14:572062parcourir

Concernant les tests automatisés de Selenium et l'utilisation des fonctions, il existe trop de tutoriels de base sur Internet, je ne les listerai pas tous ici. Vous pouvez vous référer à d'autres tutoriels ou sites officiels. Cet article traite principalement de la conception de solutions de tests d'automatisation Web et des difficultés auxquelles l'éditeur pense personnellement.

Architecture du système

Comme indiqué ci-dessous, sur la base de notre cadre de tests automatisés en arrière-plan (cette image montre une partie de l'architecture de l'extension Web, d'autres parties impliquent Confidentiel à l'entreprise et non montré sur l'image), Selenium a été étendu, l'identification de l'objet de page a été étendue sur la base de Selenium et un mécanisme de temps d'attente de double tentative de doublement a été introduit pour améliorer le taux de réussite de l'identification. Le module d'action de page implémente uniformément les actions de page.Une fonction implémente une action, garantissant l'indépendance de chaque action de page.Par conséquent, si vous devez ajouter différentes combinaisons d'étapes d'exécution dans les versions ultérieures, il vous suffit d'appeler les fonctions à l'intérieur.

Le module d'acquisition de données est divisé en trois couches, à savoir le module d'acquisition de données de base de données, le module d'acquisition de données de page et le module d'acquisition de données de journal d'application Web. De cette manière, il est facile d’organiser les différents membres de l’équipe, et chacun peut mettre en œuvre le module dans lequel il maîtrise le mieux et l’intégrer rapidement.

Tests automatisés Web (3) Selenium+beatuifulsoup

Les tests de compatibilité des navigateurs constituent une source importante de demande de tests Web automatisés. La conception du cadre doit donc prendre en compte la manière de tester plusieurs navigateurs à la fois. Le plan du blogueur est de placer le scénario de test défini dans chaque instance de navigateur et de les exécuter séquentiellement un par un.

Définition et analyse des éléments de page

Le positionnement des éléments de page a toujours été une difficulté dans les tests d'automatisation Web, car le site Web de nombreuses entreprises Le code implémenté par les développeurs n'est pas standardisé. Malgré cela, lors de la mise en œuvre de tests automatisés, tout le monde devrait essayer d'éviter d'utiliser CSS et XPath pour définir, car la lisibilité et la maintenabilité sont trop mauvaises. Essayez d'utiliser l'identifiant, le nom, le nom de la classe à définir. Correspondant à certains éléments sans identifiant, nom, nom de classe, essayez d'utiliser find_elements_by_tag_name puis analysez ses attributs pour localiser l'élément, ou utilisez find_element_by_xpath(".."), find_element_by_xpath("../..") pour trouver le supérieur ou élément supérieur.

Utilisez beatuifulsoap pour analyser

Beatuifulsoap est utilisé par de nombreux robots en raison de sa puissante fonction d'analyse. On dit que dans la solution, si. les fonctions du robot sont toutes. Il peut certainement répondre à tous les besoins des tests automatisés. Le blogueur a combiné find_element_by_xx(table_id).get_attribute('innerHTML') et beatuifusoup. Dans les projets actuels, il n'y a presque aucun élément qui ne peut pas être analysé et localisé. Par exemple, pour certains identifiants ou noms dynamiques, utilisez d'abord la correspondance floue de. beatuifulsoap. Ensuite, en analysant d'autres attributs pour localiser l'identifiant ou le nom, puis en appelant find_element_by_xx, la solution de positionnement parfaite peut être obtenue. Maman n'a plus à s'inquiéter du fait que le développeur n'écrive pas l'identifiant ou la valeur du nom

[Cours recommandé : Tutoriel vidéo Python]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer