L'utilisation d'outils de test d'interface dans les tests d'interface Python

Merci d'avoir sorti

.

.

lire cet article

1. Utilisation d'outils de capture de paquets

1. Introduction à l'outil de capture de paquets

  • Outils de développement Chrome/Firefox : navigateur intégré, facile à utiliser

  • Fiddler/Charles : capture de paquets basée sur un proxy, puissant, peut capturer des paquets sur des téléphones mobiles, simuler des réseaux faibles, intercepter des requêtes et personnaliser les réponses

  • Fiddler : gratuit, ne prend en charge que Win

  • Charles : gratuit, prend en charge Win/Linux/Mac

  • wireshark/tcpdumps : la capture de paquets pour la couche de carte réseau, avec une grande quantité de données, peut capturer des paquets de divers protocoles tels que tcp/udp (nécessite un filtrage)

  • wireshark : prend en charge Win/Linux/Mac

  • tcpdumps : commande de capture de paquets Linux, puissante, souvent utilisée pour la capture de paquets de serveur

1.1 Qu'est-ce qu'un proxy

proxy de transfert

Proxy direct et proxy inverse

  • Dans le proxy direct, le proxy et le client sont dans un réseau local, transparent pour le serveur

  • Dans un proxy inverse, le proxy et le serveur sont dans un réseau local, transparent pour le client

  • Par exemple, utiliser un proxy pour accéder à Google est un proxy direct, et demander différents sites Web au même serveur via Nginx via différents noms de domaine est un proxy inverse.

  • Le proxy inverse peut faire l'équilibrage de charge

  • Le test d'interface de proxy inverse doit généralement lier d'abord les hôtes locaux

1.2. Comment ajouter manuellement un proxy

  • Démarrez le serveur proxy, par exemple en ouvrant le service proxy de Postman (adresse IP locale, port par défaut 5555)

  • Paramètres Win -> proxy -> configurer l'adresse IP et le nom de domaine du proxy

1.3. Configuration du téléphone mobile Proxy Internet (capture de paquets de téléphone mobile)

  • Ordinateur portable et mobile utilisent le même wifiaccès Internet

  • Démarrez le serveur proxy sur l'ordinateur portable, tel que Postmanle service proxy ouvert (ordinateur local ip, port par défaut 5555)

  • Appuyez longuement sur le téléphone pour sélectionner Gérer le réseau ou Configuration manuelle wifi->avancée du proxy Configurer le proxy et le nom de domaine->->ip

1.4. Lier les hôtes (pour le proxy inverse)

  • Gagner:notepad C:\Windows\System32\drivers\etc\hosts

  • Linux : vim /etc/hosts(format : nom de domaine IP)

2. Outils de développement Chrome

  • Éléments : panneau d'éléments HTML, utilisé pour localiser et afficher le code source des éléments ;

  • Console : panneau de la console js, ligne de commande js, afficher les journaux frontaux ;

  • Sources : panneau de ressources, utilisé pour déboguer js avec des points d'arrêt ;

  • Réseau : Panneau d'informations sur les demandes, afficher les informations sur les demandes et les réponses ;

  • Chronologie : un panneau de chronologie qui enregistre divers événements qui se produisent au cours du cycle de vie du site Web ;

  • Profils : panneau des détails de l'événement ;

  • Application : stockage local, stockage de session et autres informations sur les ressources ;

  • Sécurité : Déterminez si la page Web actuelle est sécurisée ;

  • Audits : Diagnostic de performance réseau ;

1. Panneau réseau

Panneau réseau

1.1.Console : contrôle de l'apparence et des fonctions

  • Enregistrer : enregistrer ou arrêter la demande d'enregistrement

  • Effacer : efface toutes les demandes

  • Capturez des instantanés : capturez les événements de l'écran image par image

  • Filtre : veuillez utiliser pour désactiver la fonction de filtre

  • recherche : demande de recherche

  • Grouper par image : Grouper par image

  • Conserver le journal : conserver les requêtes lorsque la page est rechargée

  • Désactiver le cache : désactiver le cache

  • Hors ligne : déconnexion du réseau et simulation de réseau faible

  • Filtres : demander des filtres

  • Présentation : Chronologie des ressources

1.2.Filtres : demander des filtres

1.3.Aperçu : Chronologie des ressources

1.4.Tableau des requêtes : liste des requêtes

  • Nom : nom de la ressource

  • État : code d'état HTTP

  • Initiateur : source de la demande

  • Taille : fichier téléchargé et taille de ressource demandée à partir du serveur. Si la ressource est obtenue à partir du cache, cette colonne affichera (à partir du cache)

  • Chronologie : affiche tous les axes d'état de la chronologie des requêtes réseau

1.5.Résumé : nombre total de requêtes, volume de transfert de données, informations sur le temps de chargement

  • DOMContentLoaded : le DOM de la page est complètement chargé et analysé ;

  • load : tous les DOM, CSS, JS et images de la page sont complètement chargés ;

导出请求:右击请求 -> Copy -> Copy as fetch / Copy as cUrl

3. Introduction au violoniste

Fiddler下载:https://www.telerik.com/download/fiddler

1. Pourquoi utiliser Fiddler

  • Les données de la demande peuvent être capturées et le Rawformat/formulaire peut être visualisé/Json/XML ;

  • Peut intercepter et modifier les requêtes ;

  • des filtres plus puissants ;

  • PostmanLa requête envoyée par le script/script d'interface peut être capturée , ce qui est pratique pour le débogage ;

  • Peut capturer les demandes de téléphone mobile…

2. Interface principale du violoniste

Interface principale du violoniste

2.1.Inspecteurs : Inspecteurs

  • Raw : le format brut de la requête

  • WebForm : format de formulaire demandé

  • Json : la requête au format Json demandée

  • XML : le format XML demandé

2.2.AutoResponder : réponse automatique, peut être utilisé pour construire une réponse, Mock, ne pas modifier l'interface de débogage du fichier du serveur

2.3.Composer : Concepteur, envoi et débogage des requêtes

2.4.Filtres : Filtres

  • Hôtes : filtrer par serveur

  • Processus Clients : filtrer par programme client

  • En-têtes de requête : filtrer par en-têtes de requête

  • Points d'arrêt : définir des points d'arrêt

  • Code d'état de la réponse : filtrer par code d'état

  • Type et taille de réponse : filtrer par type de réponse et université

  • En-têtes de réponse : filtrer par en-têtes de réponse

3. Réglage automatique du point d'arrêt

menus Rules ->  Automatic Breakpoints -> Before Requests/After Requests

4. Capture de téléphone portable

L' ordinateur fiddlerportable et le téléphone mobile installés utilisent le même wifi -> appuyez longuement sur le téléphone mobile wifi, sélectionnez avancé -> ajouter un proxy ipen tant qu'ordinateur portable ip, le port est 8888 -> ordinateur portable ouvert fiddler, page Web d'accès au téléphone mobile

4. Utilisation du facteur

1. Outils de test d'interface communs

  • Postman : outil de débogage d'interface simple et pratique pour faciliter le partage et la collaboration. Avec débogage d'interface, gestion d'ensemble d'interfaces, configuration d'environnement, paramétrage, assertion, exécution par lots, interface d'enregistrement, serveur fictif, documentation d'interface, surveillance d'interface et autres fonctions

  • JMeter : outil de test d'interface et de test de stress open source, prend en charge Linux et le fonctionnement sans interface

  • LR : outil de test de performance d'interface commerciale, facile à utiliser et puissant

  • SoupUI : Open source, outil de test couramment utilisé pour l'interface WebService, peut également tester l'interface Rest et la sécurité de l'interface

3. Introduction à l'utilisation de Postman

Adresse du site officiel : https://www.postman.com/


Interface principale du facteur

3.1. Barre d'outils

  • Nouveau : Nouveau, vous pouvez créer de nouvelles demandes de requête, des ensembles de requêtes de collecte, des environnements, etc.

  • Importer : Importer, vous pouvez importer le jeu de requêtes exporté par d'autres

  • Runner : exécuter un ensemble de requêtes (exécution par lots)

  • Inviter : Inviter (nécessite une inscription, invite à collaborer)

  • Icône de synchronisation : (nécessite une inscription, synchronisez votre projet avec le cloud)

  • Icône de capture de paquets : capture/demande de capture de paquets, utilisée pour activer le proxy Postman, après avoir défini manuellement le proxy (ou proxy mobile), vous pouvez capturer/enregistrer la demande

  • Icône Paramètres : Paramètres du facteur

  • Icônes de message : messages officiels et d'assistance

  • Icônes favorites : Mes favoris (nécessite une inscription)

  • Icône cloud : données cloud de l'utilisateur (inscription requise)

3.2 Zone de gestion de l'interface

  • Historique : Historique des demandes, vous pouvez interroger les enregistrements de demandes précédents

  • Collections : un ensemble d'interfaces, qui équivaut à un projet d'interface ou à un plan de test. Un sous-dossier infini peut être créé dans l'ensemble d'interfaces pour gérer les interfaces en groupes.

3.3 Zone de gestion environnementale

  • Commutateur d'environnement : utilisé pour changer d'environnement

  • Aperçu de l'environnement : pour un aperçu rapide de toutes les variables de l'environnement

  • Gestion de l'environnement : permet d'ajouter et de modifier l'environnement et les variables d'environnement, ainsi que les variables globales

3.4 Qu'est-ce que l'environnement

接口完整地址 = 服务地址 + 接口地址,如
www.sojson.com + /open/api/weather/json.shtml

Un environnement est un ensemble de configurations contenant de nombreuses variables d'environnement. Dans le test d'interface, l'adresse du serveur peut être différente selon le déploiement sur différents serveurs, mais l'adresse d'interface d'une même interface est inchangée. Afin de tester le même ensemble d'interfaces déployées sur différents serveurs, nous pouvons créer différents environnements, et les variables hôtes dans différents environnements utilisent des adresses différentes

3.5. Zone de conception d'interface

Vous pouvez créer plusieurs nouvelles demandes via le numéro en haut tab. +La zone de conception de l'interface est divisée en zone de demande et zone de réponse de haut en bas

3.5.1. Zone de demande

  • Ligne d'adresse de la demande : vous pouvez sélectionner la méthode de demande (GET/POST/…), remplir l'adresse de la demande, envoyer la demande et enregistrer la demande dans l'ensemble de test

  • Zone de données de demande : divisée en autorisation, en-tête de demande, données de demande, script exécuté avant l'envoi de la demande (pour la préparation des données) et script exécuté après la demande (pour l'assertion)

3.5.2. Zone d'intervention :

  • Contenu de la réponse : vous pouvez afficher Pretty (format embelli), Raw (format original), Preview (format d'aperçu HTML)

  • cookie de réponse

  • en-tête de réponse

  • Le résultat du test, correspondant à l'assertion définie dans Tests dans la requête

Fonction d'interface principale du facteur

3.5.Jeu de demande de collecte

L' ensemble de test est Postmanune unité "globale" de gestion d'interface en Chine. L'exécution, l'exportation et le partage sont tous basés sur l'ensemble de test.

  • Nouveau jeu de test : Newbouton -> Collectionou cliquez directement sur le bouton nouveau jeu de test au-dessus de la liste des jeux de test

Nouvel ensemble de test

  • Autorisation : les interfaces de l'ensemble de test et de ses sous-dossiers utilisent cette autorisation de manière uniforme, et chaque interface n'a pas besoin d'être définie séparément

  • Script de pré-requête : Le script de pré-requête commun à chaque interface de la campagne de test

  • Assertions post-requête : scripts post-requête communs à chaque interface de la suite de tests

  • Variables du jeu de requêtes : certaines variables communes au jeu de requêtes

3.6.Sous-dossier Collection

Les propriétés du sous-dossier ont également une description, une autorisation, un script de pré-requête et une assertion post-requête (pas de variables, gestion unifiée des variables d'un ensemble de requêtes), qui implémente la fonction Fixture de différentes portées.

  • Exportation de l'ensemble de requêtes : l'ensemble de requêtes peut être exporté et envoyé à d'autres (sans contenir d'informations sur l'environnement), et d'autres peuvent utiliser votre interface en important

  • Partage de l'ensemble de requêtes : l'ensemble de requêtes est directement partagé avec d'autres (les deux parties doivent s'enregistrer

3.7 Gestion environnementale

Nouvel environnement


Nous pouvons définir plusieurs variables dans l'environnement à utiliser dans la demande
Méthode d'utilisation de la variable d'environnement :
sélectionnez l'environnement, utilisez-le dans la demande URLou la demande pour Bodyutiliser { {变量名}}la variable d'environnement, la variable peut être utilisée dans Bodydifférents formats de la demande, mais pas directement dans la requête Utilisé dans les pré-scripts Pre-request Scriptet les scripts post-requête Tests.

Utilisation des variables d'environnement


Dans la gestion de l'environnement, vous pouvez également cliquer sur "Global" pour ajouter des variables globales. Les variables d'environnement ne prendront effet que lorsque l'environnement est sélectionné. Les variables globales prendront effet dans n'importe quel environnement. Les variables du jeu de test ne prendront effet que Lorsque les variables de l'ensemble de test, les variables d'environnement , lorsque la variable globale a des noms de variables répétés, la priorité est : variable d'environnement > variable de l'ensemble de test > variable globale.

3.8.Utilisation des paramètres

Lorsqu'il y a beaucoup de paramètres dans la requête URL, il n'est pas pratique d'ajouter et de visualiser. Vous pouvez cliquer sur URLle bouton derrière la zone de saisie Paramspour ajouter des variables et des valeurs sous la forme d'un tableau. Après avoir ajouté à partir du tableau, les variables et les valeurs seront automatiquement ajoutés URLau

Ajouter des paramètres d'URL

3.8.1. Conception de la demande

  • Autorisation : si l'interface nécessite une autorisation, vous pouvez définir la méthode d'autorisation (type) et les informations d'autorisation sur cette page.

  • En-tête : en-tête de la demande, vous pouvez définir le type de demande (Content-Type) et le cookie

  • Corps : données de requête
    form-data : forme mixte, prend en charge le téléchargement de fichiers
    x-www-form-urlencoded : forme de texte
    raw : format brut, prend en charge le format JSON/XML (optionnel ultérieurement)
    binary : format binaire, utilisé pour envoyer un flux de données binaires

  • Script de pré-demande : script de pré-demande, syntaxe Javascript, utilisé pour générer des données dynamiques ou effectuer un traitement avant d'envoyer une demande

  • Tests : script post-requête, syntaxe Javascript, utilisé pour effectuer un traitement ou affirmer le résultat après le retour de la requête

3.8.2. Méthodes permettant à Postman d'envoyer des demandes dans différents formats

HeaderRemarque : la sélection d'une demande différente ajoutera automatiquement des Content-Typeinformations dans

Demande de formulaire hybride

demande de formulaire traditionnel

Requête au format JSON

Requête XML

3.8.3 Tester les assertions

  • Assertion de code d'état HTTP

tests["HTTP状态码200"]=responseCode.code == 200;
  • La réponse contient une assertion de contenu

tests["状态码200"] = responseBody.has("登录成功");
  • Exemple

Exemple d'interface

Méthode d'assertion

  • Assertion de réponse JSON

var jsonData = JSON.parse(responseBody);
tests["code为200"] = jsonData.code==200
tests["msg为success"] = jsonData.msg == "success"
GET接口样例:
http://www.tuling123.com/openapi/api?key=ec961279f453459b9248f0aeb6600bbe&info=你好

Assertion de réponse JSON

3.8.4. Exécution par lots de l'ensemble de tests de l'exécuteur

  • Prise en charge de la définition du nombre d'itérations

  • Prise en charge du chargement des données de test csv ou json

  • Créez une nouvelle collection, telle que le nom Demo2

  • Remplissez l'URL :

    https://demo.fastadmin.net/admin/index/login.htm, POSTméthode de sélection

  • BodyLe format des données de la requête est sélectionné x-www-form-urlecodedet les données de la requête sont renseignées clé : username, valeur :{ {username}}  , clé : password, valeur :{ {password}} , ici deux variables sont utilisées pour le paramétrage

paramètres de demande

  • Enregistrez la demande dans Demo2

  • Créez un nouveau fichier sur l'ordinateur data.csv, la première ligne est le nom de la variable, et ce qui suit sont les données, comme indiqué ci-dessous

fichier de données

  • Cliquez sur Postmanle Runnerbouton de la barre d'outils, Collectionsélectionnez Demo2Datasélectionnez le fichier de données data.csvet cliquez sur ExécuterDemo2

Configuration du coureur

résultat de l'opération

Enfin, je voudrais remercier tous ceux qui ont lu attentivement mon article. En regardant la montée et l'attention des fans tout le long, il y a toujours un besoin d'échange de courtoisie. Bien que ce ne soit pas une chose très précieuse, si vous pouvez l'utiliser, vous pouvez le prendre directement.

Ces matériaux devraient être l'entrepôt de préparation le plus complet et le plus complet pour les amis qui font [des tests de logiciels]. Cet entrepôt m'a également accompagné tout au long du voyage le plus difficile. J'espère qu'il pourra également vous aider ! Tout doit être fait le plus tôt possible, en particulier dans l'industrie technologique, et les bases techniques doivent être améliorées. J'espère être utile …….

Je suppose que tu aimes

Origine blog.csdn.net/jiangjunsss/article/details/124247797
conseillé
Classement