In this article, we are going to see a very simple web service testing procedure using JMeter.
Scenario : We are going to test a web service where the service provide us data . To be specific, the service link is http://www.webservicex.net/periodictable.asmx, the Data action link http://www.webservicex.net/periodictable.asmx?op=GetAtoms. The functionality of the service is to provide atom names in tabular format. As we are testing the data service, we can not see the HTML table, but if we can get the data, that will solve the purpose of Testing data service.
So, if we follow those steps, we can see a very simple test for web services.
Step 1. Run JMeter(jmeter.bat) from stored location “apache-jmeter-2.8\bin”
Step 2. Create a Thread Group( right click test plan –>Add –> Thread Group) and rename as SOAPThread(I am using this name).
Step 3 : Put Number of Threads(User) as 20( I am using ) and Ramp-Up Period as 2( I am using)
Step 4. Save the Thread Group.
Step 5 . Add a Sampler “SOAP/XML-RPC Request” under your thread group
Step 6. Add "http://www.webservicex.net/periodictable.asmx" as the URL and "http://www.webserviceX.NET/GetAtoms" as the Send SoapAction
Step 7 . Add This following request as “SOAP/XML-RPC Data”(link or Drive)
So, there might be a question , where I get the this XML code. It’s simple, from the service link (http://www.webservicex.net/periodictable.asmx) , you will get the GetAtoms function.
If you click GetAtoms , then you will get the function definition of different XML format(http://www.webservicex.net/periodictable.asmx?op=GetAtoms). I use SOAP 1.1 format