Test automatique pour l'Api REST
Je voudrais écrire une suite de tests automatisés pour une API REST. Comme nous remplir de nouveaux services, nous aimerions assurez-vous que tous les créé précédemment services fonctionnent comme prévu. Toutes les suggestions sur les meilleurs outils à utiliser pour accomplir cette? Je sais que des outils comme Apigee existent et vous permettent de test 1 service à un moment, mais nous aimerions avoir un moyen de tester tous les services avec le clic d'un bouton.
- Vous pourriez donner vREST un essai. Il a, à la fois, les tests unitaires et les simulacres.
- JMeter est le meilleur outil pour le REPOS de l'API de test - l'Ajout de ce commentaire pour les personnes qui sont à la recherche pour certaines étapes détaillées pour tester une API REST à l'aide de JMeter. testautomationguru.com/how-to-test-rest-api-using-jmeter
- Rien ne vaut FRISBY - Juste parfait et l'outil le plus Puissant pour le REPOS de l'API de test
- JMeter est exagéré, pour ne pas mentionner a un horrible INTERFACE utilisateur pour la base de test fonctionnel d'une api REST. Il est fait pour la performance/les tests de charge.
- JMeter est plus axé sur les tests de charge, peut-être vous devriez vérifier 12 Grand Service Web, Outils de Test pour trouver la meilleure option. Certains des outils à partir de cette liste, par exemple SOAPUI ou HttpMaster, avoir un bon soutien à l'automatisation pour l'API REST d'extrémité.
- J'ai développé un cadre simple pour la base de cas d'utilisation lors de l'essai RESTE des points de terminaison, vous pouvez lui donner un essai. (github.com/ps06756/Rest-Test)
- En plus de REST et SOAP, le Karaté est l'un des rares cadres qui est bon pour les tests GraphQL ainsi: github.com/intuit/karate
- Liées à Azure API REST pour les tests, voici une procédure très utile autour de Facteur: blogs.msdn.microsoft.com/visualstudioalmrangers/2017/09/24/...
Vous devez vous connecter pour publier un commentaire.
À mon travail, nous avons récemment mis ensemble un couple de suites de test écrit en Java pour tester certains RESTful Api que nous avons construits. Nos Services pourrait appeler d'autres RESTful Api dont elles dépendent. Nous nous sommes séparés en deux suites.
Je recommande de faire cela. Il a vraiment bien fonctionné pour nous. Les principaux avantages sont:
Cette suite nous oblige à le faire ensemble de données dans les services qui signifie que les tests prennent généralement plus de temps pour écrire. Autant que possible, nous utilisons le REPOS clients à faire de l'ensemble de données dans les services.
Tests dans cette suite, prennent généralement plus de temps à écrire, nous avons donc mis la plupart de notre couverture de la Suite 1. Cela étant dit, il y a encore de la valeur dans cette suite comme le notre se moque en Suite, 1 peut ne pas se comporter tout à fait comme les vrais services.
Frisby est une API REST framework de tests sur node.js et de Jasmin qui fait de test de l'API de points de terminaison facile, rapide et amusant.
http://frisbyjs.com
Exemple:
J'ai collaboré avec l'un de mes collègues de travail pour démarrer le PyRestTest cadre pour cette raison:
https://github.com/svanoort/pyresttest
Bien que vous pouvez travailler avec les tests en Python, le format du test est en YAML.
Exemple de la suite de tests de base pour un REPOS app -- vérifie que les Api de répondre correctement, vérifier les codes d'état HTTP, si vous pouvez le faire examiner la réponse des organismes:
J'ai utilisé SAVON DE L'INTERFACE UTILISATEUR fonctionnels et des tests automatisés. SAVON de l'INTERFACE utilisateur vous permet d'exécuter les tests sur le clic d'un bouton. Il y a aussi un le printemps des contrôleurs de test page créée par Ted Jeunes. J'ai utilisé cet article pour créer Reste des tests unitaires dans notre application.
L'un des problèmes, de faire des tests automatisés pour les Api, c'est que de nombreux outils qui vous obligent à avoir l'API de serveur et en cours d'exécution avant d'exécuter votre suite de tests. Il peut être un réel avantage d'avoir un framework de test unitaire qui est capable de fonctionner et l'interrogation de l'Api dans un entièrement automatisé de l'environnement de test.
Une option qui est bon pour les Api mises en œuvre avec Node.JS /Express est d'utiliser moka le test automatique. En plus des tests unitaires, il est facile d'écrire des tests fonctionnels à l'encontre de l'Api, répartis dans les différentes suites de test. Vous pouvez démarrer le serveur d'API automatiquement dans l'environnement de test local et locaux de base de données de test. À l'aide de faire, npm, et un serveur de build, vous pouvez créer un "make test" de la cible et un différentiel de construire qui sera exécutée à l'ensemble de la suite de test à chaque fois un morceau de code qui est soumis à votre référentiel. Pour la vraiment fastidieux développeur, il sera même possible de générer un joli code HTML de couverture du rapport, vous montrant les parties de votre code de base sont couverts par des tests ou pas. Si cela vous semble intéressant, voici un post de blog qui fournit tous les détails techniques.
Si vous n'êtes pas à l'aide d'un noeud, alors, quel que soit le defacto framework de test unitaire de la langue est (jUnit, concombre/capybara, etc) - regardez son soutien pour la filature des serveurs dans l'environnement de test local et en exécutant les requêtes HTTP. Si c'est un projet de grande envergure, l'effort pour l'obtenir automatisé de l'API de test et une intégration continue de travail va payer assez rapidement.
Espère que ça aide.
Runscope est un service basé sur le cloud qui peut surveiller les Api Web à l'aide d'un jeu de tests. Les Tests peuvent être programmés et/ou via des paramétrée web crochets. Les Tests peuvent également être exécutées à partir de centres de données partout dans le monde pour assurer un temps de réponse acceptable à base de clientèle mondiale.
Le niveau gratuit de Runscope prend en charge jusqu'à 10K de demandes par mois.
Disclaimer: je suis un développeur de plaider pour Runscope.
J'ai mis en place de nombreux automatisation de cas basée sur rassurez-vous , un jave DSL pour les tests de service restful.
https://code.google.com/p/rest-assured/
La syntaxe est simple, il prend en charge json et xml.
https://code.google.com/p/rest-assured/wiki/Usage
Avant cela, j'ai essayé SOAPUI et a eu quelques problèmes avec la version gratuite. En Plus le cas dans des fichiers xml, difficile de les étendre et de les réutiliser, simplement je n'aime pas
Vous pouvez également utiliser rassurez-bibliothèque. Pour une démonstration par l'exemple de script, reportez-vous à http://artoftesting.com/automationTesting/restAPIAutomationGetRequest.html
API d'automatisation de test, jusqu'à une fois par minute, est un service disponible par le biais de theRightAPI. Vous de créer vos scénarios de test, et de les exécuter. Une fois ces tests font ce que vous attendez d'eux, vous pouvez ensuite planifier. Les Tests peuvent être "enchaîné" ensemble pour les scénarios qui nécessitent une authentification. Par exemple, vous pouvez avoir un essai pour faire de lui un OAuth demande à Twitter, et crée un partagées jeton qui peut ensuite être utilisé par tout autre test. Les Tests peuvent également avoir des critères de validation afin de garantir que les codes d'état http, ou même d'une inspection détaillée des réponses à l'aide de javascript ou de la validation du schéma. Une fois que les tests sont programmés, vous pouvez alors avoir des alertes vous avertissent dès qu'un test particulier l'échec de la validation, ou se comporte de fourchettes établies pour le temps de réponse ou de réponse de la taille.
J'ai utilisé TestNG et Apache HTTP classes à construire mon propre API REST framework de test,
J'ai développé ce concept après avoir travaillé dans le Sélénium pour deux ans.
Tout est la même, sauf que vous devez utiliser Apache HTTP classes au lieu de Sélénium classes.
essayez, il est vraiment mignon et bon, vous avez tous le pouvoir de personnaliser votre framework de test à votre entière possibilités.