|
Yes, it's possible and there are couple of ways in doing it (disclaimer: not all are applicable). Was actually responding to fews question on this topic and well, might as well share with everyone. Let's get some fundamentals right on Web Services, (a) they can be implemented without any front-end GUI (e.g. browser) causing challenges to conventional testing techniques. If it was implemented with a front-end, that makes the scripting a little bit easier as it's the same for conventional testers (no issue here). (b) It communicates or delivers via SOAP/HTTP. That's to say, HTTP protocol is the medium of communication, one of the key concepts of using load testing tools such as LoadRunner is understanding the protocol. (Refer to "Which protocol to use?" on protocol fundamentals)
There are four possible ways of doing it.
Ok, starting with the implementation of a front-end GUI, nothing special, just proceed with the normal clicks that makes the Web Service calls. Record and replay. In the API calls for web_custom_request, you will see the distinct SOAP envolope with their tags. As the sending of the SOAP envelope is in clear transmission, you can edit the fields in it accordingly to your needs.
For non-GUI Web Service load testing. It's possible to test with the Web Service protocol in LoadRunner. Web Service protocol belongs to the SOA Bundle licenses. In this protocol, VUGen reads a given WSDL file (either locally or from a URL) that is being transmitted to the server. It builds the API after reading it through a step-by-step wizard. The wizard will prompt for variable values, security token, etc... When its done, replay the API.
If you are unfamiliar with the Web Service protocol, you can build a web page that make the Web Service calls. In this way, VUGen will record it as per normal web application (with a front-end). web_custom_request will be generated with the SOAP envelope in it. Similarly to the first method, you can change the fields accordingly. (Wonder if this is a license violation too?)
Lastly, you can use WinSock protocol. It's difficult to manipulate unless you can read the packets sent over well. I would not strongly recommend using this method.
Hope the above is useful to you. If you have alternatives to test Web Services without front-end, do let us know and we will include it here.
|