Test REST webservices [fermé]

mon organisation travaille à la construction de RESTful webservices sur l'appserveur JBoss. L'équipe QA est habituée à tester les services web de SOAP en utilisant SoapUI. SoapUI a une nouvelle version qui a des capacités de repos. Nous envisageons l'aide que.

  1. y a-t-il des services RESTful accessibles au public disponibles gratuitement sur le net que quelqu'un pourrait tester ?

  2. quels sont les outils disponibles(et utilisés) pour les essais? RESTful web services ?
63
demandé sur TheWhiteRabbit 2008-10-15 06:06:56

24 réponses

soapUI va faire le travail aussi bien, découvrez ce blog pour commencer.

28
répondu Ole Lensmar 2011-07-12 14:56:55

s'il vous plaît essayer Firefox Addon Poster , qui est simple à utiliser et vous permet de fonctionner et rapidement

25
répondu user28192 2008-10-15 10:42:07

vous pouvez exercer des services web en utilisant des bits assez triviaux de Python. Selon votre niveau de sécurité, Vous pouvez simplement utiliser les urllib ou urllib2 de Python pour faire vos demandes de repos et examiner vos réponses.

de plus, vous pourriez vouloir utiliser Python unittest pour contrôler l'exécution des tests Python de vos services de repos.

class TestSomeREST( unittest.TestCase ):
    def setUp(self):
        REALM = "blah@blah.com"
        self.client= RESTClient( "localhost", 18000, "tester", "tester", REALM )
    def test_1_get(self):
        response = self.client.get('/this/that/other/2/')
        self.failUnlessEqual(200, response.status_code)
        j1= JSONDecoder().decode(response.content)
        self.assertEquals(2, j1[0]['pk'] )
        entity= j1[0]['fields']
        self.assertEquals('Some Other Group', entity['name'])
        self.assertEquals('E1G2', entity['customer_id'])

la classe RESTClient utilise urllib2 pour passer par l'authentification digest pour chaque demande. C'est assez complexe, mais je peux partager l'essence si c'est intéressant.

20
répondu S.Lott 2008-10-15 03:09:11

Check out Fiddler

12
répondu TheSoftwareJedi 2008-10-15 02:43:17

CURL vous amène à mi-chemin. L'autre moitié vérifie les en-têtes, les codes de réponse et le contenu de l'entité pour s'assurer qu'il est bon. Vous pourriez utiliser une variété d'outils pour cela (dans shell scripting land, piping l'en-tête et le contenu aux fichiers, et les diffuser pourrait tout simplement faire l'affaire). Il ne serait pas si difficile de peaufiner l'ensemble d'outils, peut-être en cumulant avec le cadre de test de l'Unité de votre choix.

j'ai construit un panneau de test rest webservice avec l'AJAX. Il n'était pas difficile du tout, en fait. Vous avez quelques problèmes de sécurité à régler (par exemple, s'assurer que vous avez la suite de test sur le même serveur, ou peut-être signé Javascript.)

8
répondu Jonathan Arkell 2008-10-15 02:41:45

pour tester un service de repos vous pouvez essayer repos assuré ce qui rend très simple de tester les services de repos et de valider la réponse en Java (en utilisant JUnit ou TestNG).

8
répondu Johan 2011-01-05 16:48:42

découvrez Facteur - https://chrome.google.com/webstore/detail/fdmmgilgnpjigdojojpjoooidkmcomcm/ . Il s'agit d'un outil sur lequel j'ai travaillé au cours des derniers mois et récemment, d'après les commentaires que j'ai reçus, il devient très utile pour les grands projets de repos tout en aidant avec les tests de base des points de fin de repos.

le code correspondant est également disponible sur Github. https://github.com/a85/POSTMan-Chrome-Extension

7
répondu Abhinav 2012-06-02 00:25:15

la façon la plus simple de tester le service REST web est d'utiliser curl dans le terminal.

il y a des codes que j'ai utilisés pour tester mon service Web de rails. Vous pouvez les modifier pour les adapter à vos services.

GET

curl http://localhost:3000/courses.json

POST

curl -H "Content-Type:application/json"  -d '{"courseCode":"55555","courseName":"SEEEE","courseYr":999}' http://localhost:3000/courses.json

PUT in rills: eg1 (avec tous les champs) :

curl -H "X-Http-Method-Override: put" -H "Content-Type:application/json"  -d '{"courseCode":"123456","courseName":"AAAAAAAA","courseYr":12345}' http://localhost:3000/courses/5.json

eg2 (avec le champ seulement être édité):

curl -H "X-Http-Method-Override: put" -H "Content-Type:application/json"  -d '{"courseYr":999999999}' http://localhost:3000/courses/3.json

supprimer dans les rails avec l'id fourni

 curl -H "X-Http-Method-Override: delete" -H "Content-Type:application/json"  -d '{"id":4}' http://localhost:3000/courses/5.json
6
répondu code4j 2012-11-11 16:56:07

Je ne l'ai pas encore testé, mais cette application Java semble être agréable pour tester les services REST. Il y a aussi un tutoriel sur Javalobby à ce sujet.

Java App: http://code.google.com/p/rest-client /

Tuto: http://java.dzone.com/announcements/wiztoolsorg-restclient-21-rele

4
répondu Valentin Jacquemin 2009-01-19 13:31:43

vous pouvez utiliser le Client REST Simple est une extension pour Google Chrome trop https://chrome.google.com/webstore/detail/fhjcajmcbmldlhcimfajhfbgofnpcjmb

3
répondu Chuck Mah 2010-12-20 16:02:23

SOA Cleaner, est un outil de test qui teste à la fois le savon et le repos (aussi WCF, mais il semble que vous n'avez pas besoin de cette fonctionnalité). Il est très intuative, et utilisable. C'est écrit .NET. Une version gratuite est également disponible. peut être téléchargé à partir de http://xyrow.com . Bonne chance!

2
répondu Clangon 2009-09-16 08:02:59

je teste des services RESTful avec un framework .NET maison (aucun problème de portage en Java). Principes de base:

  • client de construction (pour faire les appels)
  • construire des classes de type (XML et JSON)
  • désérialiser réponse
  • d'affirmer des trucs

si vous voulez plus d'informations, je suis heureux de parler.

1
répondu Andrei Marfievici 2012-05-29 14:25:12

j'utilise REST console extension pour Google Chrome et c'est de loin le meilleur que j'ai essayé. Il supporte également divers mécanismes de sécurité comme OAuth

(mise à jour 2: correction lien)

1
répondu Michael Bavin 2012-07-09 14:35:13

pour java, il existe aussi RESTFuse , qui permet de développer des tests unitaires qui peuvent ressembler à ceci:

@Rule
public Destination destination = new Destination("http://localhost:8080/rest/");


@HttpTest( method = Method.GET, path = "/status" ,authentications =
   @Authentication(type = AuthenticationType.BASIC, user = "joe", password = "doe")
)
public void testAuthRhqadmin() {
    com.eclipsesource.restfuse.Assert.assertOk(response);
}

ce test s'exécute contre http://localhost:8080/rest/status et s'authentifie comme utilisateur joe avec mot de passe doe. Le corps de la méthode vérifie ensuite que L'appel GET renvoie un code de statut 200.

1
répondu Heiko Rupp 2012-09-06 10:46:25

essayez le httplib de Python. C'est très facile, vous spécifiez la méthode, l'url, et utilisez urllib.urlencode pour les paramètres / corps du message.

ce module peut être combiné avec le module unittest intégré si vous le souhaitez, pour la déclaration des erreurs.

0
répondu 2008-10-15 03:11:35

j'ai utilisé JMeter pour cela, en particulier pour des choses comme les essais de charge. Il est similaire à SoapUI (que j'ai également utilisé), mais orienté plus vers les pages Web de test, ce qui le rend assez décent à tester les services RESTful, aussi.

0
répondu Mike Desjardins 2008-10-15 19:53:38

j'ai écrit un programme spécifique pour tester les services REST Web. C'est une application assez simple écrite dans .NET 2.0 (Je l'ai seulement testé sur Windows Vista, mais devrait fonctionner sur XP aussi). L'application utilise HttpWebRequest pour faire des requêtes, et affiche la réponse résultante, ainsi que les en-têtes pour la requête et la réponse. J'ai fait un peu de tests, mais j'ai pensé qu'il pourrait vous aider à tester vos services web.

REST Test

0
répondu 2008-12-24 03:40:37

j'enquête actuellement sur WSClient CLI app à cet effet ( http://wso2.org/library/3362 ). Il est très prometteur, et peut être utilisé pour pirater un test rapide à partir d'un shell bash. Bien sûr, comme beaucoup l'ont mentionné ici, la plupart des outils qui viennent avec un système * nix feront le travail avec un peu de codage /scripting

0
répondu verboze 2009-12-08 02:23:32

si vous aimez utiliser Ruby il ya un REST-client gem pour elle

pour les testeurs, je trouve que ruby est une langue très facile à apprendre, et il a quelques outils excellents comme le concombre pour faire des tests D'acceptation de style BDD.

0
répondu Chuck van der Linden 2012-01-11 00:41:56

j'ai essayé de nombreux clients REST et de loin le meilleur que j'ai utilisé est L'application Chrome: DHC .

DHC (alias Client HTTP Dev) est conçu et développé par un développeur pour les développeurs afin de faciliter la découverte, la manipulation et le test directs des ressources HTTP. En plus de la fonction principale, envoyer/recevoir des requêtes/réponses HTTP personnalisées, il permet de sauvegarder en permanence une requête vers un dépôt local pour une réutilisation ultérieure et de plus la déclaration de requête peut inclure des variables spécifiques au contexte. Avec l'utilisation de contextes, vous pouvez facilement passer d'un environnement à l'autre sans modifier la déclaration de requête. (par exemple, d'un environnement d'essai à la production)

0
répondu Andaris 2014-08-26 16:19:35

test repos services web complets est une tâche facile à faire. Les annonces gratuites sont disponibles sur les navigateurs comme Client REST d'où vous devez envoyer un service web avec type de méthode attendue/requise: GET / POST / PUT / DELETE Si les paramètres sont appariés alors la sortie sera générée dans le corps de navigateur. enter image description here

0
répondu mohit sarsar 2015-02-18 09:25:11

je sais que c'est une question très ancienne, mais qui pourrait être utile à d'autres. Juste pour répondre à votre première question, vous pouvez cocher ici pour obtenir un peu de repos webservices à tester.

Fiddler et plug Poster dans Firefox peut être utilisé pour tester tous les services REST web. SoapUI est également livré avec le soutien de RESTful webservices.

0
répondu Manoj 2015-03-01 07:45:00

pour les tests de repos avancés, vous pouvez essayer HttpMaster .

il supporte les paramètres dynamiques, les visionneuses conviviales pour XML/JSON, et divers types de validations de données de réponse qui peuvent être combinés en expressions logiques.

Pour les requêtes http de base, un certain plugin de navigateur sera suffisant.

0
répondu Joxi 2015-04-01 19:34:18

OnionTest encore une version bêta , mais très utile

-1
répondu koos 2011-08-16 06:16:25