Imaginez ce scénario dans lequel votre startup commence à avoir du terrain. Le nombre d’utilisateurs augmente soudainement ! Et maintenant, il passe continuellement de 10 à 100 utilisateurs et utilise votre application depuis un certain temps. Cliquer sur certains boutons, utiliser certaines fonctionnalités, faire une demande depuis votre serveur backend...
Ce que vous ne voudriez pas dans ce genre de situation, c'est le manque de préparation. Vous voulez vous assurer que votre application est Fiable et Disponible pour les utilisateurs. C'est là que les tests entrent en place et ce dont nous parlerions ici est un type spécifique de tests qui convient pour tester ce type de scénarios, Tests de charge.
Dans ce guide, nous nous concentrerons sur l'utilisation de FastAPI et de sa génération automatisée de spécifications OpenAPI pour rationaliser le processus de génération de collections Postman pour les tests de charge. À la fin, vous saurez comment utiliser la spécification OpenAPI de FastAPI et Postman pour tester votre application à grande échelle.
FastAPI est livré avec la prise en charge OpenAPI intégrée, ce qui facilite la documentation et le test de vos API. En combinant FastAPI avec Postman, vous pouvez :
Cette synergie entre FastAPI et Postman permet aux développeurs de simuler rapidement des scénarios de trafic réels et d'identifier les goulots d'étranglement dans leurs applications.
Assurez-vous que votre application FastAPI s'exécute localement ou sur un serveur. Par exemple :
from fastapi import FastAPI app = FastAPI() @app.get("/items/{item_id}") def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)
Lorsque le serveur démarre, le point de terminaison OpenAPI JSON sera disponible à l'adresse http://127.0.0.1:8000/openapi.json.
Ouvrez votre navigateur et accédez à http://127.0.0.1:8000/openapi.json pour vous assurer que le JSON OpenAPI est accessible.
Vous pouvez soit enregistrer le fichier OpenAPI JSON localement en utilisant votre navigateur, soit par curl :
curl -o openapi.json http://127.0.0.1:8000/openapi.json
Ou simplement en copiant l'URL du point de terminaison OpenAPI, http://127.0.0.1:8000/openapi.json.
Si vous venez de copier l'URL du point de terminaison, vous pouvez simplement coller l'URL dans la barre de saisie en haut du modal qui apparaît lorsque vous cliquez sur Importer
Examinez la collection importée pour vous assurer que tous les points de terminaison sont correctement configurés. Vous pouvez également ajouter des variables d'environnement ou des scripts selon les besoins pour l'authentification ou la gestion des données.
Pour simuler des scénarios du monde réel, modifiez vos requêtes pour inclure des données dynamiques. Par exemple, utilisez les variables intégrées de Postman ou les scripts de pré-requête :
Exemple de script de pré-demande :
from fastapi import FastAPI app = FastAPI() @app.get("/items/{item_id}") def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)
Exemple de charge utile :
curl -o openapi.json http://127.0.0.1:8000/openapi.json
Vous pouvez également simplement utiliser des scripts intégrés comme $randomInt pour générer des valeurs aléatoires.
Exemple de cas d'utilisation de scripts intégrés :
pm.variables.set("random_id", Math.floor(Math.random() * 10000));
Ce script intégré renverra des valeurs aléatoires comprises entre 0 et 1 000 dans chaque requête effectuée.
Utilisez des variables de collection dans Postman pour gérer les URL de base d'API, les jetons d'authentification ou les paramètres dynamiques sans votre collection. Cela simplifie les mises à jour et les tests dans votre collection.
Postman inclut désormais des fonctionnalités de test de performances intégrées qui vous permettent de simuler le trafic des utilisateurs et d'évaluer les performances de votre API.
Cliquez sur Exécuter pour démarrer le test de performances. Postman affichera des mesures de performances en temps réel telles que le temps de réponse moyen, le taux d'erreur et le débit.
Une fois le test terminé, analysez les résultats pour identifier les goulots d'étranglement en matière de performances :
Postman fournit des métriques détaillées et vous permet de comparer plusieurs exécutions de tests pour suivre les changements de performances au fil du temps.
En tirant parti de la spécification OpenAPI de FastAPI et des fonctionnalités de test de performances de Postman, vous pouvez simuler efficacement le trafic utilisateur et identifier les problèmes de performances potentiels. Cette approche vous permet de garantir que votre application FastAPI reste robuste et réactive dans diverses conditions de charge.
Bon test !
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!