Pregunta

Mi organización está trabajando en la creación de servicios web RESTful en el servidor de aplicaciones JBoss. El equipo de control de calidad está acostumbrado a probar los servicios web SOAP hasta el momento utilizando SoapUI. SoapUI tiene una nueva versión que tiene capacidades REST. Estamos considerando usar eso.

  1. ¿Hay algún servicio RESTful disponible públicamente disponible en la red de forma gratuita que alguien pueda probar?
  2. ¿Qué herramientas están disponibles (y se usan) para probar los servicios web RESTful?
¿Fue útil?

Solución

soapUI también hará el trabajo, consulte esta publicación del blog para comenzar.

Otros consejos

Por favor, intente Firefox Addon Poster, que es fácil de usar y le permite comenzar a correr rápidamente

Puedes ejercer servicios web usando bits bastante triviales de Python. Dependiendo de su seguridad, puede simplemente usar urllib o urllib2 de Python para hacer REST las solicitudes y examinar sus respuestas.

Además, es posible que desee utilizar unittest de Python para controlar la ejecución de las pruebas Python de sus servicios 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 clase RESTClient utiliza urllib2 para pasar a través de la autenticación de resumen para cada solicitud. Es bastante complejo, pero puedo compartir la esencia si es de interés.

Consulte Fiddler

CURL te lleva a mitad de camino. La otra mitad está verificando los encabezados, los códigos de respuesta y el contenido de la entidad para asegurarse de que sea bueno. Podría usar una variedad de herramientas para eso (en el shell shell scripting, canalizar el encabezado y el contenido a los archivos, y diferenciarlos podría hacer el truco). No sería tan difícil refinar aún más el conjunto de herramientas, tal vez apilarse con el marco de prueba de unidad que elija.

Construí un panel de prueba de servicios web de descanso con AJAX. En realidad no fue tan difícil. Tiene que resolver algunos problemas de seguridad (es decir, asegurarse de tener la suite de prueba en el mismo servidor, o quizás tener Javascript firmado).

Para probar un servicio REST, puede probar REST Assured , lo que lo hace muy simple. para probar los servicios REST y validar la respuesta en Java (utilizando JUnit o TestNG).

La forma más sencilla de probar el servicio web REST es mediante curl en la terminal.

Hay algunos códigos que usé para probar mi servicio web de rieles. Puede modificarlos para que se ajusten a sus servicios.

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

PONER en Raills: eg1 (con todos los campos):

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 (con el campo solo editado):

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

ELIMINAR en rieles con la identificación proporcionada

 curl -H "X-Http-Method-Override: delete" -H "Content-Type:application/json"  -d '{"id":4}' http://localhost:3000/courses/5.json

No lo he probado todavía, pero esta aplicación de Java parece ser buena para probar los servicios REST. También hay un tutorial sobre Javalobby al respecto.

Aplicación Java: http://code.google.com/p/rest-client /

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

también puede usar el Cliente REST simple es una extensión para Google Chrome https: // chrome. google.com/webstore/detail/fhjcajmcbmldlhcimfajhfbgofnpcjmb

SOA Cleaner, es una herramienta de prueba que prueba tanto el jabón como el descanso (también WCF, pero parece que no necesita esa función). Es muy intuitivo y utilizable. Escrito en .NET. Una versión gratuita también está disponible. se puede descargar desde http://xyrow.com . Buena suerte!

Estoy probando los servicios RESTful con un framework .NET interno (no hay problema en portarlo en Java). Principios básicos:

  • construir cliente (para hacer las llamadas)
  • clases de tipo de compilación (XML y JSON)
  • deserializar respuesta
  • afirmar cosas

Si quieres más información, me alegro de hablar.

Estoy usando extensión de consola REST para Google Chrome y es por lejos lo mejor que he probado. También soporta varios mecanismos de seguridad como OAuth

(actualización 2: enlace de reparación)

Para java, también existe RESTFuse , que permite desarrollar pruebas unitarias que pueden verse así :

@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);
}

Esta prueba se ejecuta en http: // localhost: 8080 / rest / status y se autentica como usuario Joe con contraseña. El cuerpo del método luego comprueba que la llamada GET devuelve un código de estado 200.

Prueba el httplib de Python. Es muy fácil, usted especifica el método, la url y usa urllib.urlencode para los parámetros / cuerpo POST.

Esto se puede combinar con el módulo de prueba de unidad integrado, si lo desea, para informar de errores.

He estado usando JMeter para esto, especialmente para cosas como pruebas de carga. Es similar a SoapUI (que también he usado), pero está más orientado a probar páginas web, lo que lo hace bastante decente al probar servicios RESTful, también.

He escrito un programa específicamente para probar los servicios web REST. Es una aplicación bastante simple escrita en .NET 2.0 (solo la he probado en Windows Vista, pero también debería funcionar en XP). La aplicación utiliza HttpWebRequest para realizar solicitudes y muestra la respuesta resultante, así como los encabezados de la solicitud y la respuesta. He realizado algunas pruebas, pero pensé que podría ayudarte a probar tus servicios web.

prueba REST

Actualmente estoy investigando la aplicación CLI de wsclient para este propósito ( http://wso2.org/library/3362 ). Es bastante prometedor y se puede utilizar para piratear una prueba rápida desde un shell bash. Por supuesto, como muchos mencionaron aquí, muchas de las herramientas que vienen con un sistema * nix harán el trabajo con un poco de codificación / creación de scripts

Si te gusta usar Ruby, hay una gema REST-Client para ello

Para los evaluadores, me parece que ruby ??es un lenguaje muy fácil de aprender, y tiene algunas herramientas excelentes como Cucumber para hacer pruebas de aceptación de estilo BDD.

He probado numerosos clientes REST y, por mucho, lo mejor que he usado es la aplicación Chrome: DHC .

  

DHC (también conocido como Dev HTTP Client) está diseñado y desarrollado por un desarrollador para que los desarrolladores realicen el descubrimiento, la manipulación y las pruebas directas de recursos HTTP con mayor facilidad. Además de la función principal, el envío / recepción de solicitudes / respuestas HTTP personalizadas, permite guardar de forma permanente una solicitud en un repositorio local para su posterior reutilización y, además, la declaración de la solicitud puede incluir variables que son específicas del contexto. Con el uso de contextos, puede cambiar fácilmente entre varios entornos sin modificar la declaración de solicitud. (por ejemplo, de un entorno de prueba a producción)

Probar servicios web completos REST es una tarea fácil de hacer. Los complementos gratuitos están disponibles en los navegadores como Cliente REST desde donde debe enviar un servicio web con el tipo de método esperado / requerido: GET / POST / PUT / DELETE Si los parámetros coinciden, la salida se generará en el cuerpo del navegador. ingrese la descripción de la imagen aquí

Sé que es una pregunta muy antigua, pero podría ser útil para otros. Solo para responder a su primera pregunta, puede consultar aquí para obtener algunos servicios web REST para probar.

El complemento Fiddler y Poster en Firefox se puede usar para probar cualquier servicio web REST. SoapUI también viene con soporte de servicios web RESTful.

Para las pruebas avanzadas de REST, puede probar HttpMaster .
Es compatible con los parámetros dinámicos, visores amigables para XML / JSON, y varios tipos de validaciones de datos de respuesta que se pueden combinar en expresiones lógicas. Para solicitudes http básicas, será suficiente con un complemento de navegador.

OnionTest aún es beta, pero es bastante útil

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top