I am looking for some tools for testing the background rest API and web services for mobile application based on android as well as iPhone.
8 Answers
Some of the tools that can be used for rest API testing are
Postman and Advance Rest Client are free Chrome Apps. If you want to code with Java, you can use REST Assured
I´ve been using SoapUI to test APIs (both rest and soap) and I always recommend it as the best option. You can test easily the features and, at the same time, it is easy to run those tests from Jenkins (for example) so they can be used to have a continuous integration environment.
There are other tools as Postman but that´s more, in my opinion, for manual testing while you develop.
You may refer to this article for the list of API tools.
Personally, I prefer Postman for its less required programming skills and Katalon for its simplicity and free license.
Curl is the industry standard free open-source tool for working with Web APIs. With Curl you can make any request that you could make from a browser or from a mobile client. This includes sending-and-saving cookies as well as basic auth and Oauth. You can also use it to inspect request and response headers.
After using Curl to retrieve an API response, you can then perform tests against the response document using any unit test framework. Assuming your API is returning some sort of structured data (such as JSON, XML, HTML, CSV, TSV, plain text), you should be fine using your programming language's standard library for parsing the response. Once you have parsed the document, just write unit tests that assert against the data the same way you would for any other data retrieved during a test.
One large upside to this approach is that you are not locked in to paying for a site license each time you need to set up a new workstation or a new CI slave. If you plan to scale your tests horizontally (in other words if you plan to use dozens or hundreds of slaves in your CI system) then using a proprietary tool that requires paying for a site license per slave, is prohibitively expensive for most organizations.
It's also worth noting that there is nothing that a proprietary tool can do, that you can not also do with Curl and your favorite programming language, for free.
Strange that none mentioned good old fashioned programming languages.
Some are easier and some are faster, personally I have used Perl and Python with one of the many REST related libraries, some don't even require real programming just a couple of lines of code.
To test Rest APIs you can use Advance Rest Client or Postman. Postman is really good and you can create collections as well for the endpoints that need to be regularly regressed. Alternatively, you can use Jmeter as well for API Testing and use assertions to validate things.
I'd like to add Karate to the list of tools that should be evaluated for testing web-services.
Disclaimer: am dev.
One of the nice things about Karate is that although it runs on the JVM, it is language-neutral, and you actually don't need programming experience to be able to use it. It supports REST, SOAP, JSON and XML.
The set of demos and examples should get you started very easily.