Comment tester une API en utilisant Python et JavaScript

Comment tester une API en utilisant Python et JavaScript

La ligne est mince entre choisir une interface de programmation d'applications (API) et décider si vous pouvez l'utiliser ou non. La plupart des API REST ont une architecture générique et un chemin de requête commun. Mais certaines API s'écartent de la norme. Par conséquent, ils deviennent difficiles à utiliser.

Ainsi, avant de construire l'intégralité de votre logiciel sur une API, vous devez effectuer des contrôles de qualité et vous assurer qu'il fonctionne correctement. Alors, qu'est-ce que le test d'API et comment pouvez-vous tester une API ?

Qu'est-ce que les tests d'API ?

Les tests d'API impliquent l'évaluation initiale des fonctionnalités, de la sécurité, de l'évolutivité, de la vitesse et plus encore d'une API pour voir si elle est idéale pour le programme qui souhaite l'utiliser. Mais superficiellement, cela peut impliquer des tests pour voir s'il envoie les réponses appropriées lorsque vous effectuez des demandes via ses différents points de terminaison.

En fonction de sa structure, lors du test d'une API, vous effectuerez des requêtes (Obtenir, Publier, Mettre à jour ou Supprimer) à ses points de terminaison pertinents. Il existe de nombreuses métriques à vérifier lors des tests d'API. Mais à un niveau débutant, vous souhaitez valider l'intégrité d'une API à partir de son code d'état et vous assurer qu'elle récupère et accepte les données correctes.

À cette fin, comme toute requête Web, une API peut renvoyer le code d'état 200, 400 ou 500 ou même d'autres.

La plupart des API utilisent des réponses JSON pour servir leurs charges utiles. Selon l'objectif, d'autres peuvent accepter et répondre avec des charges utiles XML, en plusieurs parties ou HTML.

Comment tester une API en utilisant Python et JavaScript

Bien qu'il existe de nombreux outils de test d'API d'interface utilisateur graphique (GUI) sur Internet, vous pouvez évaluer une API de manière plus critique avec des scripts écrits.

Une API indique dans sa documentation le type de requêtes qu'elle autorise et leur fournit des points de terminaison pertinents. Vous pouvez donc les récupérer et les tester en utilisant les méthodes de requête appropriées.

Connexes : Qu'est-ce que l'API REST et comment pouvez-vous récupérer des données pour votre application ou votre site Web ?

Contrairement à la phase de production réelle, les tests API sont bruts. Vous n'avez donc pas besoin d'autant de spécificité que lors de l'exécution de l'API pour la production. Bien qu'il existe différents types de tests d'API, nous nous concentrerons davantage sur les tests de validation de réponse dans cet article.

Nous allons tester une API de restauration de faux dans ce tutoriel en utilisant JavaScript de d' extraction et de Python demandes bibliothèque. Ce faisant, nous testerons les points de terminaison pour obtenir, publier, mettre à jour et supprimer des données.

Comment tester un point de terminaison d'API Get avec JavaScript

Comme vous l'utiliseriez en production, vous pouvez tester une API en JavaScript en utilisant Axios ou la méthode fetch .

Pour obtenir le statut de la réponse de l'API à l'aide de fetch :

fetch('https://fakestoreapi.com/products', ).then(res =>{ console.log(res) })

La requête ci-dessus renvoie un état 200 s'il s'agit d'une réponse valide. Une fois que vous avez fait une demande réussie, vous pouvez alors demander des données en temps réel à partir de l'API.

Récupérons les données de cette API :

fetch('https://fakestoreapi.com/products', ).then(res =>{ if (res.ok){ return res.json() } }).then(response=>{ console.log(response) }).catch(err => console.log(err))

La réponse au code de récupération ci-dessus ressemble à ceci :

Comment tester une API en utilisant Python et JavaScript

Pour obtenir le prix de tous les produits, par exemple, vous pouvez utiliser la fonction carte :

fetch('https://fakestoreapi.com/products', ).then(res =>{ if (res.ok){ return res.json() } }).then(response=>{ response.map(data =>{ console.log(data.price) }) // console.log(response) }).catch(err => console.log(err))

Ce qui précède enregistre la sortie suivante :

Comment tester une API en utilisant Python et JavaScript

Tester un point de terminaison Get avec Python

Comme mentionné précédemment, Python utilise également la bibliothèque de requêtes pour accéder aux données d'une API.

Pour vérifier l'état de la réponse dans ce cas :

import requests data = requests.get('https://fakestoreapi.com/products') print(data.status_code)

L'enregistrement des données comme nous l'avons fait ci-dessus renvoie un statut correspondant. C'est 200 dans ce cas, cependant.

Maintenant, obtenons les mêmes données avec Python qu'en utilisant JavaScript :

import requests data = requests.get('https://fakestoreapi.com/products') myData = data.json() print(myData)

Le résultat de ce qui précède ressemble à ceci :

Comment tester une API en utilisant Python et JavaScript

Vous pouvez obtenir des données spécifiques en utilisant la boucle for .

Pour obtenir les prix des produits, par exemple :

import requests data = requests.get('https://fakestoreapi.com/products') myData = data.json() indexes = 0 for i in myData: goods = myData[indexes] indexes +=1 print(goods["price"])

Voici à quoi ressemble la sortie :

Comment tester une API en utilisant Python et JavaScript

Tester un point de terminaison de publication avec JavaScript

Après avoir testé et vérifié que la requête Get fonctionne, en fonction de votre objectif et de ce que propose l'API, vous voudrez peut-être vérifier si vous pouvez également y insérer des données.

Contrairement à la façon dont vous effectuez une demande Get , une demande Post accepte une charge utile. De plus, vous devrez spécifier qu'il s'agit d'une requête Post :

// Specify the payload let payload = { title: 'new product', price: 13.5, description: 'test description', image: '', category: 'electronic' } fetch('https://fakestoreapi.com/products', { method: "Post", headers:{ 'Content-Type': 'application/json' }, body: JSON.stringify(payload) //convert the payload to JSON } ).then(res =>{ if (res.ok){ console.log(res.status) return res.json() } }).then(response => { console.log(response) }).catch(err => console.log(err))

Le code ci-dessus enregistre le code d'état de la réponse et les nouvelles informations insérées lorsque vous l'exécutez. Cela vous indique si votre demande a abouti ou non. En règle générale, si le code d'état est 200, votre API a un point de terminaison valide qui renvoie la réponse appropriée.

Tester la demande de publication avec Python

Vous pouvez également tester un point final post d'une API à l' aide de Python de requests.post . Comme vous l'avez fait lors de l'utilisation de fetch de JavaScript , vous devez également spécifier la charge utile ici :

import requests payload = { 'title': 'new product', 'price': 13.5, 'description': 'test description', 'image': '', 'category': 'electronic' } Posted = requests.post('https://fakestoreapi.com/products', data = payload ) print(Posted.status_code) print(Posted.json())

Comme JavaScript, le code Python ci-dessus enregistre également le code d'état de la réponse et les nouvelles données spécifiées dans la charge utile .

Test des points de terminaison de vente

La mise à jour des données de l'API nécessite le même processus que leur publication et leur obtention dans les deux langues.

Pour ce faire à l'aide du fetch de JavaScript , il vous suffit de remplacer Post par Put :

// Specify the payload let payload = { title: 'new product', price: 13.5, description: 'test description', image: '', category: 'electronic' } fetch('https://fakestoreapi.com/products/19', { method: "Put", headers:{ 'Content-Type': 'application/json' }, body: JSON.stringify(payload) //convert the payload into JSON } ).then(res =>{ if (res.ok){ console.log(res.status) return res.json() } }).then(response => { console.log(response) }).catch(err => console.log(err))

Si vous faites attention au point de terminaison de l'API, vous verrez qu'il inclut cette fois l'ID du produit. C'est ainsi que l'API sait quelles données vous souhaitez mettre à jour dans ce cas.

Néanmoins, certaines API peuvent utiliser d'autres méthodes pour créer leurs points de terminaison. Ce n'est donc pas une norme.

Pour tester la mise à jour des données de l'API à l'aide de Python, utilisez plutôt request.put :

import requests payload = { 'title': 'new product', 'price': 13.5, 'description': 'test description', 'image': '', 'category': 'electronic' } Posted = requests.put('https://fakestoreapi.com/products/19', data = payload ) print(Posted.status_code) print(Posted.json())

Les exemples ci-dessus, en cas de succès, insèrent les nouvelles données à la position 19 comme indiqué par le point de terminaison de l'API.

Test de la demande de suppression

Supprimer des données d'une API est aussi simple que de faire une requête Get. C'est parce que, contrairement à Post et Put, vous n'avez pas besoin de spécifier de charge utile. Tout ce dont vous avez besoin est le point de terminaison de suppression.

L'API que nous avons choisie utilise ici l'ID du produit pour suivre ses données. Ainsi, supprimer un produit est simple :

fetch('https://fakestoreapi.com/products/19', { method: "Delete", headers:{ 'Content-Type': 'application/json' } } ).then(res =>{ if (res.ok){ console.log(res.status) return res.json() } }).then(response => { console.log(response) }).catch(err => console.log(err))

Vous n'avez besoin que de quelques lignes de code pour obtenir la même chose en utilisant Python :

import requests Posted = requests.delete('https://fakestoreapi.com/products/19', ) print(Posted.status_code) print(Posted.json())

Les deux exemples ci-dessus enregistrent le code d'état de la réponse et les données appartenant à l'ID interrogé (19 dans ce cas).

Ces méthodes de test sont-elles génériques ?

Bien que nous ne nous soyons concentrés que sur une seule API dans cet article, les méthodes utilisées pour tester les points de terminaison CRUD ne sont pas différentes lorsqu'elles traitent avec d'autres API. La seule différence, bien sûr, pourrait résider dans les règles entourant chaque structure d'API et les directives pour la demande de données. Une fois que vous les avez déchiffrés pour une API choisie, vous pouvez ensuite utiliser la méthode appropriée, comme décrit ici, pour tester ses points de terminaison correspondants.

Ainsi, étant donné que chaque API a des règles pour s'y connecter, donc lors des tests, certaines peuvent fournir des paramètres supplémentaires à inclure dans vos en-têtes de requête. Ces paramètres incluent généralement un jeton d'accès ou d'autres, comme indiqué dans la documentation.


Comment utiliser Python comme calculatrice de ligne de commande

Comment utiliser Python comme calculatrice de ligne de commande

Bien que vous puissiez utiliser une calculatrice graphique sur votre ordinateur, l'interpréteur du langage de programmation Python peut également servir de calculatrice de bureau. C'est une blague si populaire dans la communauté Python qu'elle est mentionnée dans le didacticiel officiel. Voici comment vous pouvez utiliser Python comme calculatrice.

Les 8 meilleurs blogs Java pour les programmeurs

Les 8 meilleurs blogs Java pour les programmeurs

En tant que programmeur, vous devez relever des défis pour survivre et créer des merveilles dans le domaine du développement ou de la programmation. Par conséquent, si vous cherchez à apprendre un langage de programmation avancé pour améliorer vos compétences professionnelles, Java est l'une des meilleures perspectives.

7 commandes vitales pour démarrer avec Python pour les débutants

7 commandes vitales pour démarrer avec Python pour les débutants

Apprendre un nouveau langage de programmation comme Python devient facile si vous disposez d'une feuille de route complète détaillant les concepts à apprendre en tant que débutant et comment progresser davantage pour atteindre le prochain jalon. Même les programmeurs intermédiaires devraient fréquemment réviser leurs bases pour se construire une base solide.

Principes de conception de sites Web réactifs

Principes de conception de sites Web réactifs

De nos jours, il est courant de créer un site Web ou une application qui ajuste son interface utilisateur en fonction du navigateur ou de l'appareil. Il existe deux approches pour atteindre cet objectif. La première consiste à créer différentes versions de votre site Web ou de votre application pour différents appareils. Mais c'est inefficace et peut conduire à des erreurs imprévisibles.

Comment compter le nombre de chiffres dans un nombre à laide de C++, Python et JavaScript

Comment compter le nombre de chiffres dans un nombre à laide de C++, Python et JavaScript

Travailler avec des nombres fait partie intégrante de la programmation. Chaque langage de programmation prend en charge la manipulation des nombres de différentes manières. Dans cet article, vous apprendrez à trouver le nombre total de chiffres dans un entier à l'aide d'approches itératives, basées sur les journaux et basées sur les chaînes.

Les 9 meilleures alternatives Docker pour la gestion des conteneurs

Les 9 meilleures alternatives Docker pour la gestion des conteneurs

Les conteneurs sont très utiles pour le développement, le déploiement et la gestion de logiciels dans un environnement virtuel. Docker est utile dans le processus de conteneurisation, mais ce n'est pas la seule plate-forme disponible. Si vous recherchez des alternatives à Docker, ne cherchez pas plus loin. Cette liste présente des alternatives Docker riches en fonctionnalités et efficaces à utiliser dans votre prochain projet.

SQL vs NoSQL : quelle est la meilleure base de données pour votre prochain projet ?

SQL vs NoSQL : quelle est la meilleure base de données pour votre prochain projet ?

SQL vs NoSQL : quelle est la meilleure base de données pour votre prochain projet ?

Comment intégrer des tweets dans vos publications WordPress

Comment intégrer des tweets dans vos publications WordPress

L'intégration de services tiers dans vos publications WordPress est un moyen passionnant de captiver l'intérêt d'un visiteur. Le contenu intégré fournit également des repères visuels qui facilitent la numérisation. WordPress a facilité l'ajout de ce type de contenu.

Comment supprimer le dossier des modules de nœud avec npkill

Comment supprimer le dossier des modules de nœud avec npkill

Node.js est un environnement d'exécution JavaScript qui vous permet d'exécuter JavaScript en dehors des navigateurs Web, ce qui en fait un choix populaire pour développer toutes sortes d'applications. Une partie de sa popularité est due à la pléthore de packages NPM disponibles pour faciliter l'expérience des développeurs.

Comment écrire et compiler votre premier code de solidité

Comment écrire et compiler votre premier code de solidité

Solidity est le langage de programmation utilisé par les contrats intelligents sur la blockchain Ethereum. C'est un langage de programmation orienté objet de type statique.

Top 5 des badges qui vont booster votre dépôt GitHub

Top 5 des badges qui vont booster votre dépôt GitHub

Les badges GitHub peuvent améliorer la lisibilité d'un référentiel en offrant aux utilisateurs un moyen rapide de capturer les métriques du référentiel. Des badges peuvent être intégrés dans votre README.md pour clarifier l'importance et la nécessité de votre projet aux autres développeurs. En conséquence, les lecteurs se font une idée très rapide du référentiel en vérifiant les badges joints.

Quest-ce que la Journée internationale des programmeurs ? 3 façons de célébrer cette année

Quest-ce que la Journée internationale des programmeurs ? 3 façons de célébrer cette année

Les journées de célébration internationales sont un bon moyen de reconnaître les questions sociales, les journées historiques et les carrières respectives. La Journée internationale des programmeurs célèbre le rôle que les programmeurs jouent pour améliorer la vie quotidienne. Le monde civilisé dans lequel nous vivons est le produit du travail acharné des programmeurs.

Comment fonctionne la méthode Python String format() ? 10 exemples

Comment fonctionne la méthode Python String format() ? 10 exemples

Qu'il s'agisse d'une requête de base de données ou de résultats d'opérations mathématiques, la méthode de format de chaîne Python offre un moyen plus dynamique et attrayant de présenter les résultats à un utilisateur.

Visual Studio 2022 vs. 2019 : devriez-vous mettre à niveau maintenant ? Expliqué

Visual Studio 2022 vs. 2019 : devriez-vous mettre à niveau maintenant ? Expliqué

Plus tôt cette année, Microsoft a publié la version préliminaire de Visual Studio 2022 dans le monde de la programmation sauvage. C'est une bonne nouvelle! C'est un IDE extrêmement populaire, mais qui doit faire l'objet d'une mise au point ou peut-être même d'une refonte, étant donné le rythme des changements dans l'écosystème DevOps dans lequel il prospère.

Une introduction simple aux métriques logicielles

Une introduction simple aux métriques logicielles

Les métriques logicielles sont des mesures utilisées pour quantifier divers aspects de votre logiciel. Ces aspects peuvent aller du coût, de la qualité et de l'efficacité de l'équipe de développement.

Comment installer .NET Framework version 3.5 sur Windows 10

Comment installer .NET Framework version 3.5 sur Windows 10

En tant qu'utilisateur Windows, vous avez probablement au moins une fois rencontré les mots .NET Framework. Il s'agit d'un framework logiciel développé par Microsoft qui vous permet de créer et d'exécuter des programmes C#, C++, F# et Visual Basic. La dernière version de .NET est la 4.8, mais votre ordinateur peut avoir besoin d'une ancienne version de .NET (comme .NET 3.5) pour exécuter certaines applications.

Flask ou CherryPy : quel framework Python devriez-vous utiliser ?

Flask ou CherryPy : quel framework Python devriez-vous utiliser ?

Si vous êtes un développeur Python, vous pouvez grandement bénéficier de la gamme de frameworks disponibles. Alors que certains cadres sont mieux adaptés aux grands écosystèmes, d'autres se spécialisent dans la réalisation d'objectifs de développement spécifiques. Lisez la suite pour découvrir les fonctionnalités de base, les utilisations et les différences entre deux frameworks Python : Flask et CherryPy.

Comment trouver des cubes et des carrés parfaits à N-Digit à laide de Python, C++ et JavaScript

Comment trouver des cubes et des carrés parfaits à N-Digit à laide de Python, C++ et JavaScript

De nombreux programmeurs adorent résoudre des problèmes mathématiques délicats à l'aide de code. Il aide à aiguiser l'esprit et à améliorer les compétences en résolution de problèmes. Dans cet article, vous apprendrez à trouver les carrés et cubes parfaits à n chiffres les plus petits et les plus grands à l'aide de Python, C++ et JavaScript. Chaque exemple contient également un exemple de sortie pour plusieurs valeurs différentes.

Comment ajouter Python à la variable PATH de Windows

Comment ajouter Python à la variable PATH de Windows

L'exécution de Python à partir du terminal est souvent inévitable. Cependant, si vous venez d'installer Python sur Windows 10 pour la première fois, son exécution via le terminal Windows n'est possible que s'il est ajouté à la variable d'environnement Windows PATH.

Comment utiliser linstruction Python if

Comment utiliser linstruction Python if

L'instruction if est la force motrice de la programmation logique. En conséquence, une meilleure compréhension des Pythons est un ajout important à vos compétences en programmation Python.

Comment utiliser Python comme calculatrice de ligne de commande

Comment utiliser Python comme calculatrice de ligne de commande

Bien que vous puissiez utiliser une calculatrice graphique sur votre ordinateur, l'interpréteur du langage de programmation Python peut également servir de calculatrice de bureau. C'est une blague si populaire dans la communauté Python qu'elle est mentionnée dans le didacticiel officiel. Voici comment vous pouvez utiliser Python comme calculatrice.

Les 8 meilleurs blogs Java pour les programmeurs

Les 8 meilleurs blogs Java pour les programmeurs

En tant que programmeur, vous devez relever des défis pour survivre et créer des merveilles dans le domaine du développement ou de la programmation. Par conséquent, si vous cherchez à apprendre un langage de programmation avancé pour améliorer vos compétences professionnelles, Java est l'une des meilleures perspectives.

7 commandes vitales pour démarrer avec Python pour les débutants

7 commandes vitales pour démarrer avec Python pour les débutants

Apprendre un nouveau langage de programmation comme Python devient facile si vous disposez d'une feuille de route complète détaillant les concepts à apprendre en tant que débutant et comment progresser davantage pour atteindre le prochain jalon. Même les programmeurs intermédiaires devraient fréquemment réviser leurs bases pour se construire une base solide.

Principes de conception de sites Web réactifs

Principes de conception de sites Web réactifs

De nos jours, il est courant de créer un site Web ou une application qui ajuste son interface utilisateur en fonction du navigateur ou de l'appareil. Il existe deux approches pour atteindre cet objectif. La première consiste à créer différentes versions de votre site Web ou de votre application pour différents appareils. Mais c'est inefficace et peut conduire à des erreurs imprévisibles.

Comment compter le nombre de chiffres dans un nombre à laide de C++, Python et JavaScript

Comment compter le nombre de chiffres dans un nombre à laide de C++, Python et JavaScript

Travailler avec des nombres fait partie intégrante de la programmation. Chaque langage de programmation prend en charge la manipulation des nombres de différentes manières. Dans cet article, vous apprendrez à trouver le nombre total de chiffres dans un entier à l'aide d'approches itératives, basées sur les journaux et basées sur les chaînes.

Les 9 meilleures alternatives Docker pour la gestion des conteneurs

Les 9 meilleures alternatives Docker pour la gestion des conteneurs

Les conteneurs sont très utiles pour le développement, le déploiement et la gestion de logiciels dans un environnement virtuel. Docker est utile dans le processus de conteneurisation, mais ce n'est pas la seule plate-forme disponible. Si vous recherchez des alternatives à Docker, ne cherchez pas plus loin. Cette liste présente des alternatives Docker riches en fonctionnalités et efficaces à utiliser dans votre prochain projet.

SQL vs NoSQL : quelle est la meilleure base de données pour votre prochain projet ?

SQL vs NoSQL : quelle est la meilleure base de données pour votre prochain projet ?

SQL vs NoSQL : quelle est la meilleure base de données pour votre prochain projet ?

Comment intégrer des tweets dans vos publications WordPress

Comment intégrer des tweets dans vos publications WordPress

L'intégration de services tiers dans vos publications WordPress est un moyen passionnant de captiver l'intérêt d'un visiteur. Le contenu intégré fournit également des repères visuels qui facilitent la numérisation. WordPress a facilité l'ajout de ce type de contenu.

Comment supprimer le dossier des modules de nœud avec npkill

Comment supprimer le dossier des modules de nœud avec npkill

Node.js est un environnement d'exécution JavaScript qui vous permet d'exécuter JavaScript en dehors des navigateurs Web, ce qui en fait un choix populaire pour développer toutes sortes d'applications. Une partie de sa popularité est due à la pléthore de packages NPM disponibles pour faciliter l'expérience des développeurs.

Comment écrire et compiler votre premier code de solidité

Comment écrire et compiler votre premier code de solidité

Solidity est le langage de programmation utilisé par les contrats intelligents sur la blockchain Ethereum. C'est un langage de programmation orienté objet de type statique.