63 votes

Test des webservices REST

Mon organisation travaille à la mise en place de webservices RESTful sur JBoss appserver. L'équipe d'assurance qualité a l'habitude de tester les webservices SOAP jusqu'à présent en utilisant SoapUI. SoapUI a une nouvelle version qui a des capacités REST. Nous envisageons de l'utiliser.

  1. Existe-t-il des services RESTful accessibles au public, disponibles gratuitement sur Internet, que quelqu'un pourrait tester ?

  2. Quels sont les outils disponibles (et utilisés) pour tester les services web RESTful ?

28voto

Ole Lensmar Points 277

soapUI fera également l'affaire, consultez cet article de blog pour commencer.

25voto

user28192 Points 239

Essayez l'addon Firefox Poster, qui est simple à utiliser et vous permet d'être rapidement opérationnel.

20voto

S.Lott Points 207588

Vous pouvez exercer des services web en utilisant des morceaux de Python assez triviaux. En fonction de votre sécurité, vous pouvez simplement utiliser la fonction Python urllib ou urllib2 pour faire vos requêtes REST et examiner vos réponses.

En outre, vous pouvez utiliser Python unittest pour contrôler l'exécution des tests Python de vos services REST.

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 faire passer une authentification digest pour chaque requête. C'est assez complexe, mais je peux partager l'essentiel si cela vous intéresse.

12voto

TheSoftwareJedi Points 15921

Vérifiez Fiddler

8voto

Jonathan Arkell Points 4265

CURL vous permet de faire la moitié du chemin. L'autre moitié consiste à vérifier les en-têtes, les codes de réponse et le contenu de l'entité pour s'assurer qu'il est bon. Vous pouvez utiliser une variété d'outils pour cela (dans le domaine des scripts shell, le piping de l'en-tête et du contenu dans des fichiers, et leur différentiation pourrait faire l'affaire). Il ne serait pas difficile d'affiner davantage le jeu d'outils, peut-être en empilant curl avec le framework de test unitaire de votre choix.

J'ai construit un panneau de test de webservice de repos avec AJAX. Ce n'était pas si difficile que ça en fait. Vous avez quelques problèmes de sécurité à résoudre (c'est-à-dire s'assurer que vous avez la suite de test sur le même serveur, ou peut-être signé Javascript).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X