Tests automatisés avec PostMan
Je mets récemment à niveau un ancien projet. La première étape consiste à mettre à niveau la version du nœud deInstallation de PostManIl semble que le téléchargement et l'utilisation de4.x
vers8.x
. Je crains qu'il y ait des problèmes lors de la mise à niveau, je dois donc vérifier l'interface du service ;
Si vous saisissez manuellement diverses URL, vérifiez la chair humaine, une ou deux suffisent, l'ensemble du service. . Avoir des dizaines d'interfaces est une perte de temps -.-;
Comme il s'agit d'un pur projet de service d'interface, nous prévoyons de mener une vague de tests automatisés pour l'API correspondante;
Nous avons donc commencé à chercher les outils correspondants . Du coup, j'ai découvert que lePostMan
que j'utilise habituellement semble prendre en charge l'écriture de cas de test -.-, j'ai donc suivi la documentation pendant un moment et j'étais très enthousiasmé par
tout l'après-midi, et par l'utilisation précédente de s'est limité aux modifications.PostMan
, ajoutezHeader
pour envoyer une demande. Je n'ai jamais envisagé d'utiliserBody
pour tester. Après l'avoir utilisé pendant un après-midi, j'ai l'impression d'avoir découvert un nouveau monde.PostMan
nécessitent de contourner le mur-.-PostMan
Car il existe actuellement deux formes d'application disponibles :
Plug-in
chrome
(déjà quasiment abandonné, il est recommandé d'utiliser une App indépendante)- Application indépendante
Compte -. -Il semble y avoir d'autres moyens, mais je ne les ai pas essayés. Google
version, 6.0.10 qui vient d'être téléchargée aujourd'hui, veuillez l'obtenir vous-même si vous en avez besoin) : Mac
Lien : https://pan.baidu.com/ s/ 18CDp... Mot de passe : mrpf
, qui est utilisée pour envoyer une demande. PostMan
peut définir
, Header
et d'autres informations. Body
Si vous enregistrez la demande, elle sera enregistrée dans un
, semblable à une collection. Collections
fournit une méthode pour exécuter toutes les requêtes dans l'ensemble du PostMan
en un seul clic. Collections
correspondant ci-dessous Collection
Le script de test écrit pour la requête, à cet emplacement, est utiliséPostMan
Syntaxe , à droite se trouvent quelques extraits de code préconfigurés. JavaScript
et nous pouvons écrire des scripts en
à exécuter avant d'envoyer la demande. Pre-request Script
fournit également une assertion pour faciliter une certaine vérification. PostMan
tests['Status code is 200'] = responseCode.code === 200 tests['Data length >= 10'] = JSON.parse(responseBody).data.length >= 10
pour indiquer une réussite et true
pour indiquer un échec. L'affectation directe de false
est relativement limitée. Si vous effectuez d'autres opérations asynchrones dans le script, vous devez utiliser tests
. pm.test
setTimeout(() => { pm.test("test check", function () { pm.expect(false).to.be.true }) })
mission + tests
ci-dessus peut répondre à nos besoins, et le reste n'est que du sucre syntaxique en plus de cela. pm.test/pm.expect
Divers exemples de syntaxe
résultat de retour, nous pouvons envoyer de nouvelles requêtes basées sur le résultat, puis ajouter des assertions . API
let responseJSON = JSON.parse(responseBody) // 获取关注的第一个用户,并请求他的用户信息 pm.sendRequest(responseJSON[0].url, function (err, response) { let responseJSON = response.json() pm.test('has email', function () { pm.expect(responseJSON.email).is.be.true // 如果用户email不存在,断言则会失败 }) });
L'interface de premier niveau renvoie List
L'interface de deuxième niveau obtient les informations correspondantes selon le
de List
. ID
如何处理大量重复的断言逻辑
针对单个API,去编写对应的断言脚本,这个是没有什么问题的。
但是如果是针对一个项目的所有API
去编写,类似于判断statusCode
这样的断言就会显得很溶于,所以PostMan
也考虑到了这点。
在我们创建的Collection
以及下层的文件夹中,我们可以直接编写针对这个目录下的所有请求的断言脚本。
这里的脚本会作用于目录下所有的请求。
这样我们就可以将一些通用性的断言挪到这里了,在每个请求的Tests
下编写针对性的断言脚本。
变量的使用
PostMan
提供了两种变量使用,一个是global
,一个是environment
。
global
代码操作的方式:
pm.globals.set("variable_key", "variable_value") // set variable pm.globals.get("variable_key") // get variable pm.globals.unset("variable_key") // remove variable
通过GUI设置:
设置完后我们就可以这样使用了:
基本上在所有的可输入的地方,我们都能够使用这些变量。
environment
环境变量,这个是权重比global
要高一些的变量,是针对某些环境来进行设置的值。
操作方式类似。
在使用代码操作的方式时,只需将globals
替换为environment
即可。
在发起一个请求,或者一键发送所有请求时,我们可以勾选对应的环境,来使用不同的变量。
在针对大量API测试时,拿environment
来设置一个domain
将是一个不错的选择。
这样在请求中我们只需这样写即可:
{{domain}}/res1 {{domain}}/res2 domain: https://api.github.com
一个简单的示例:
通过直接运行一个Collection
,我们可以很直观的看到所有的接口验证情况。
参考资料
https://www.getpostman.com/do...
之前使用PostMan
,最多就是模拟一下POST
请求,最近刚好碰到类似的需求,发现原来PostMan
还可以做的更多。
这篇只是使用PostMan
进行API测试的最基础操作,还有一些功能目前我并没有用到,例如集成测试、生成API
文档之类的。
接口相当于是获取和操作服务资源的方式,肯定属于产品的核心。
所以测试是必须的,在交付QA同学之前,自己进行一遍测试,想必一定能节省一部分的时间。
相关推荐:
chrome插件postman安装问题_html/css_WEB-ITnose
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que pensez-vous de furmark ? 1. Définissez le « Mode d'exécution » et le « Mode d'affichage » dans l'interface principale, ajustez également le « Mode de test » et cliquez sur le bouton « Démarrer ». 2. Après avoir attendu un moment, vous verrez les résultats du test, y compris divers paramètres de la carte graphique. Comment Furmark est-il qualifié ? 1. Utilisez une machine à pâtisserie Furmark et vérifiez les résultats pendant environ une demi-heure. Elle oscille essentiellement autour de 85 degrés, avec une valeur maximale de 87 degrés et une température ambiante de 19 degrés. Grand châssis, 5 ports de ventilateur de châssis, deux à l'avant, deux en haut et un à l'arrière, mais un seul ventilateur est installé. Tous les accessoires ne sont pas overclockés. 2. Dans des circonstances normales, la température normale de la carte graphique doit être comprise entre « 30 et 85 ℃ ». 3. Même en été, lorsque la température ambiante est trop élevée, la température normale est de « 50 à 85 ℃.

Le « Test d'inaction » du nouveau MMORPG féerique fantastique « Zhu Xian 2 » sera lancé le 23 avril. Quel genre de nouvelle histoire d'aventure féerique se produira sur le continent Zhu Xian des milliers d'années après l'œuvre originale ? Le monde immortel des six royaumes, une académie à plein temps pour cultiver des immortels, une vie libre pour cultiver des immortels et toutes sortes de divertissements dans le monde immortel attendent que les amis immortels l'explorent en personne ! Le pré-téléchargement "Wuwei Test" est maintenant ouvert. Les amis fées peuvent accéder au site officiel pour télécharger. Vous ne pouvez pas vous connecter au serveur de jeu avant le lancement du serveur. Le code d'activation peut être utilisé après le pré-téléchargement et l'installation. est terminé. "Zhu Xian 2" "Inaction Test" horaires d'ouverture : 23 avril 10h00 - 6 mai 23h59 Le nouveau chapitre d'aventure de conte de fées de la suite orthodoxe de Zhu Xian "Zhu Xian 2" est basé sur le roman "Zhu Xian" comme un modèle basé sur la vision du monde de l'œuvre originale, l'arrière-plan du jeu est défini.

Dans le développement de logiciels modernes, l'intégration continue (CI) est devenue une pratique importante pour améliorer la qualité du code et l'efficacité du développement. Parmi eux, Jenkins est un outil CI open source mature et puissant, particulièrement adapté aux applications PHP. Le contenu suivant explique comment utiliser Jenkins pour implémenter l'intégration continue PHP et fournit un exemple de code spécifique et des étapes détaillées. Installation et configuration de Jenkins Tout d'abord, Jenkins doit être installé sur le serveur. Téléchargez et installez simplement la dernière version depuis son site officiel. Une fois l'installation terminée, une configuration de base est requise, notamment la configuration d'un compte administrateur, l'installation du plug-in et la configuration des tâches. Créer une nouvelle tâche Sur le tableau de bord Jenkins, cliquez sur le bouton "Nouvelle tâche". Sélectionnez "Libère

"Opération Delta" lancera aujourd'hui (7 mars) un test PC à grande échelle appelé "Codename: ZERO". Le week-end dernier, ce jeu a organisé un événement d'expérience flash mob hors ligne à Shanghai, et 17173 a également eu la chance d'être invité à participer. Ce test remonte à un peu plus de quatre mois depuis le dernier, ce qui nous rend curieux, quels nouveaux points forts et surprises l'Opération Delta apportera-t-elle en si peu de temps ? Il y a plus de quatre mois, j'ai expérimenté « l'Opération Delta » lors d'une séance de dégustation hors ligne et la première version bêta. A cette époque, le jeu n'ouvrait que le mode "Action Dangereuse". Pourtant, l’opération Delta était déjà impressionnante pour l’époque. Dans un contexte où les grands constructeurs se ruent sur le marché du jeu mobile, un tel FPS comparable aux standards internationaux

Comment supprimer l'automatisation des raccourcis Apple Avec le lancement du nouveau système iOS13 d'Apple, les utilisateurs peuvent utiliser des raccourcis (raccourcis Apple) pour personnaliser et automatiser diverses opérations du téléphone mobile, ce qui améliore considérablement l'expérience de l'utilisateur sur le téléphone mobile. Cependant, nous devrons parfois supprimer certains raccourcis qui ne sont plus nécessaires. Alors, comment supprimer l’automatisation des commandes de raccourci Apple ? Méthode 1 : Supprimer via l'application Raccourcis Sur votre iPhone ou iPad, ouvrez l'application « Raccourcis ». Sélectionnez dans la barre de navigation inférieure

Maven est un outil de gestion de projet open source couramment utilisé pour des tâches telles que la construction, la gestion des dépendances et la publication de documents de projets Java. Lorsque nous utilisons Maven pour la construction d'un projet, nous souhaitons parfois ignorer la phase de test lors de l'exécution de commandes telles que mvnpackage, ce qui améliorera la vitesse de construction dans certains cas, en particulier lorsqu'un prototype ou un environnement de test doit être construit rapidement. Cet article détaillera comment ignorer la phase de test dans Maven, avec des exemples de code spécifiques. Pourquoi devriez-vous ignorer les tests Lors du développement d'un projet, il est souvent

Introduction L'intégration continue (CI) et le déploiement continu (CD) sont des pratiques clés du développement de logiciels modernes qui aident les équipes à fournir des logiciels de haute qualité plus rapidement et de manière plus fiable. Jenkins est un outil CI/CD open source populaire qui automatise le processus de création, de test et de déploiement. Cet article explique comment configurer un pipeline CI/CD avec Jenkins à l'aide de PHP. Configurer Jenkins Installer Jenkins : Téléchargez et installez Jenkins à partir du site Web officiel de Jenkins. Créer un projet : créez un nouveau projet à partir du tableau de bord Jenkins et nommez-le en fonction de votre projet php. Configurer le contrôle de source : configurez le référentiel git de votre projet PHP en tant que Jenkin

Les tests fonctionnels vérifient la fonctionnalité des fonctions via des tests en boîte noire et en boîte blanche, tandis que la couverture du code mesure la partie du code couverte par les scénarios de test. Différents langages (tels que Python et Java) ont des cadres de test, des outils de couverture et des fonctionnalités différents. Des cas pratiques montrent comment utiliser Unittest et Coverage de Python et JUnit et JaCoCo de Java pour les tests de fonctions et l'évaluation de la couverture.
