Looking for tools use to test REST API.
Visual Studio Web Performance and Load test projects provide an excellent tool for measuring the performance of RESTful APIs with technologies such as Web API. VS Performance and Load Testing tools predate RESTful services and JSON but there are a couple ways to effectively use VS for testing these services. Get Report: Buyer’s Guide to Software Test Automation Tools REST-Assured. When using Java, REST-Assured is my first choice for API automation. In fact, it's the main tool I use for API testing. REST-Assured is a fluent Java library you can use to test HTTP-based REST services.
So far I'm only aware of SoapUI. I've tried SOAPUI but - at least in a mac - it's terrible.
Wondering what people are using to test their own APIs.
j0kclosed as primarily opinion-based by devnull, EdChum, Raul Rene, Pinal, Satish SharmaJul 23 '14 at 8:24
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
11 Answers
If you're just testing your APIs manually, we've found RestClient 2.3 or the Poster add-on for Firefox to be pretty helpful. Both of these let you build requests that GET, PUT, POST, or DELETE. You can save these requests to rerun later.
For simple automated testing try the Linux (or Cygwin) 'curl' command in a shell script.
From something more industrial strength you can move up to Apache JMeter. JMeter is great for load testing.
31 October 2014: HTTPRequester is now a better choice for Firefox.
July 2015: Postman is a good choice for Chrome
Jim FerransJim FerransPostman in the chrome store is simple but powerful.
daviddeathdaviddeathI use http://hurl.it/
Ha. Sorry, I mis-read your post. I've used cucumber to test it before. It worked out nicely.
We are using Groovy to test our RestFUL API, using a series of helper functions to build the xml put/post/gets and then a series of tests on the nodes of the XML to check that the data is manipulated correctly.
We use Poster (for Firefox, Chrome seems to be lacking a similar tool) for hand testing single areas, or simply to poll the API at times when we need to create further tests, or check the status of things.
We're planning to use FitNesse, with the RestFixture. We haven't started writing our tests yet, our newest tester got things up and running last week, however he has used FitNesse for this in his last company, so we know it's a reasonable setup for what we want to do.
More info available here:http://smartrics.blogspot.com/2008/08/get-fitnesse-with-some-rest.html
I am using Fiddler - this is a great tool and allows you to quickly hack on previous http request amending headers / content etc.
Apart from that I am using scipts written in Python (using httplib) , as this is one of the easiest way to create integration test.
MaciekTalaskaMaciekTalaskaI am using DevHttpClient Plugin for chrome, its handy. it does also saves previous actions. clean UI as well
http://www.quadrillian.com/ this enables you to create an entire test suite for your API and run it from your browser and share it with others.
Gidon WiseGidon WiseWe use Groovy and Spock for writing highly expressive BDD style tests. Unbeatable combo! Jersey Client API or HttpClient is used for handling the HTTP requests.
For manual/acceptance testing we use Curl or Chrome apps as Postman or Dev HTTP Client.
We test our own with our own unit tests and oftentimes a dedicated client app.
Wyatt BarnettWyatt BarnettThere is a free tool from theRightAPI that lets you test any HTTP based API. It also lets you save and share your test scenarios.
RogerRogerNot the answer you're looking for? Browse other questions tagged apirestqafunctional-testingsoapui or ask your own question.
There is a similar question here but it only covers some of the issues below.
We have a client who requires web services using REST.
We have tons of experience using SOAP and over time have gathered together a really good set of tools for SOAP development and testing e.g.
- soapUI
- Eclipse plugins
- wsdl2java
- WSStudio
By 'tools' I mean a product 'out of the box' that we can start using. I'm not talking about cutting code to 'roll our own' using Ajax or whatever.
The tool set for REST doesn't seem to be nearly as mature?
What tools are out there (we use C# and Java mainly) ?
Do the tools handle GET, POST, PUT, and DELETE?
Is there a decent Eclipse plugin?
Is there a decent client testing application like WSStudio where you point the tool to the WSDL and it generates a proxy on the fly with the appropriate methods and inputs and you simple type the data in?
Are there any good package monitoring tools that allow you to look at the data? (I'm not thinking about sniffers like Wireshark here but rather things like soapUI that allow you to see the request / response) ?
closed as off-topic by Andrew BarberNov 19 '14 at 17:00
This question appears to be off-topic. The users who voted to close gave this specific reason:
- 'Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.' – Andrew Barber
15 Answers
In terms of Java, there is the JAX-RS API, which is the Java Api for Xml using Restful Services or something like that. Basically, JAX-RS provides a more standard way to build RESTful services in Java.
There is also Restlet, which allows easily development of Restful services and is based on the JAX-RS specification.
Also, checkout SOAP-UI which has recently added nice support for REST.
http://jcp.org/en/jsr/detail?id=311 - JAX-RS
http://www.eviware.com/content/view/134/1/ - SOAP-UI
http://sourceforge.net/projects/soapui - SOAP-UI
I googled and found this plugin for chrome.
POSTman REST Client.
AechoLiuAechoLiuFor starters, you need a tool that lets you construct an arbitrary HTTP request (including headers such as content-type, HTTP method, HTTP authentication and request body) and inspect the HTTP response (including status code, headers and response body). It's nice if it's scriptable tool.
Have a look at:
- rest-client - standalone Java GUI application and plugin (See also at nodeclipse)
To auto-generate a proxy I guess you are looking for something that parses WADL, the REST answer to WSDL. Unfortunately, I do not know anything like that.
Paul VerestI found a nice Firefox plugin called Poster that allows you to act as a REST client similar to rest-client and the others. I wish it would render the response to a firefox tab (rather than a custom output window) so any returned XML could be colorized by Firefox's awesome syntax highlighting. But overall seems to work OK.
Update: Oh, even better. I found another firefox plugin callsed RestClient https://addons.mozilla.org/en-US/firefox/addon/9780. This seems to do the syntax highlighting.
Joe JJoe JThe easy and best client tool to test your REST API calls is a Firefox add-on RESTClient.
Install the add on and test the API calls.
Marek GrzenkowiczRunscope is a cloud based service that allows you to inspect the requests to and responses from a web API. It also does testing and measurement of API performance.
Disclaimer: I work for Runscope.
John SheehanI'd like to underline that the Restlet project supports two APIs to develop RESTful applications:
- Core Restlet API : class-based, client and server-side, multi-protocol, very large features scope
- JAX-RS API : annotation-based, only server-side, smaller features scope
Restlet can deploy in Servlet containers, standalone (pure JVM), in GWT for the client-side, in Spring, in Mule ESB or in OSGi containers. Here is the complete list of features.
Best regards,
SOA Cleaner, is a test tool that tests both soap and rest (also WCF, but it seems you don't need that feature). It's very intuative, and usable. Written in .NET. A free version is also available. can be downloaded from http://xyrow.com. Good luck!
ClangonClangonIn terms of a client testing application, I had a similar problem. I couldn't find a tool that I could use to quickly test data going in and out of the web services I was creating/using. So I created my own tool using C# .NET. It's essentially a client application that you can use for GET, POST, PUT, and DELETE queries on rest services.
The software is called REST Scratch Pad. It lets you enter the data to send to the REST service and view the results of queries along with their headers and response times. It will handle basic authentication and will remember the URLs you've used in prior sessions (to avoid having to re-type long URLs).
The current version is free. The next version will use a newer version of .NET and cover more authentication methods.
Marek GrzenkowiczThere are some tools that do these type of things but few support RESTful APIs as yet.
'Rose' does:http://www.ibm.com/developerworks/rational/library/design-implement-restful-web-services/index.html
but you will need deep pockets...
Not aware of any others at the moment. Would like to know though (of something afordable)
A fine tester for REST web services is HttpMaster.
It supports various http methods and allows you to monitor complete request/responses data. You can also use dynamic parameters to execute a group of requests, it also supports simple response data validations. It's easy to use, but it only runs on Windows (it's a .NET application).
is a very powerful tool to troubleshoot rest services directly from android devices.
You could try the REST Assured library which makes it very easy to test REST services from Java. For example given that your resource is called 'greeting' and returns the following JSON:
you can test it like this in REST Assured:
JohanJohanSoapUI, despite its name, can also support REST requests. Because REST usually does not supply anything like a WSDL, you are on your own creating the requests needed for your web interface though. Depending on the complexity of the REST webservice, this could be anything from trivial to demanding, but it should at least get you some results instantly.
SvenSvenhttps://restclientgui.codeplex.comStable version downloadable from Downloads section.
Babu JamesBabu James