Web Service Testing Automation Using SoapUI Tool
Web Service Testing Automation Using SoapUI Tool
23
International Journal of Computer Applications (0975 – 8887)
Volume 167 – No.2, June 2017
SOAP messages do not get block by the firewall because it new change is introduced. It is carried out to find out if new
makes use of simple http transport protocol. In case of REST, changes are causing any problems in expected working of the
its architecture runs over HTTP. REST uses simple URL in web service. [11] Using SOAPUI tool tester can execute the
some cases instead of using XML requests. REST requests are test suits to check if the existing functionalities are working
faster and hence used in mobile and web applications. In fine.
order to understand SOAPUI, it is necessary to have
knowledge about WSDL. WSDL is Web Service Description 4.1.4 Security Testing
Language. It is based on XML and used for describing the SOAPUI can perform complete vulnerability scan set.
services provided by the web service. All the operations SOAPUI ensures authorization and authentication for request
provided by a particular web service are described in a XML and response web service model. Features that SOAPUI
format by WSDL. It also specifies that how the services can supports under Security testing are listed below
be called i.e. what is the value for input and what response we
should get for each type of service. 4.1.4.1 Cross Site Scripting
It scans as well as detects any exposure related to service
So, in addition with functional testing SOAPUI also provides
non-functional testing such as performance and security parameters in structure message during cross site scripting.
testing. 4.1.4.2 Securing database
4.1 SOAPUI Features SOAPUI scans for any potential l SQL injection that could
cause possible harm to the database. Hence provides the
Commonly used features of SOAPUI are listed below
secure database.
4.1.1 Functional Testing 4.1.4.3 Stack overflow
Testers are allowed to write functional API tests using
SOAPUI can scan and detect large documents and can find
SOAPUI. It has drag and drop feature which makes the script
out the stack overflow related defects.
development faster. [10] SOAPUI allows test debugging. It
also provides support for data driven tests. It supports more 4.1.4.4 Lifesaving scans
than one environment hence it is not difficult to switch These scans are done to support unsteady behavior of some
between QA, Production or Dev environment. It supports APIs. SoapUI NG Provides fuzzy scans, boundary scans etc.
advanced scripting which makes easy for testers to develop
their own custom code in necessary scenarios. Using SOAPUI 4.1.5 Load Testing
tester can use a large number of features. Some of them are SOAPUI can be used to distribute the Load Tests across
listed below multiple numbers of LoadUI Agents. It can simulate real
world and high volume load testing easily. To capture
4.1.1.1 Drag and Drop performance parameters, it provides advanced custom
It is the best feature in perspective of new testers for building reporting options. End to end system monitoring is also
test automation. [11] It speeds up the script development for enabled by SOAPUI. The features provided by load testing
test automation. are:
4.1.1.2 Custom Scripts: 4.1.5.1 LoadUI Agent
SOAPUI allows custom test script writing for test automation SOAPUI NG has something called LoadUI agents in large
scripts development which is an advance scripting option that number on which load can be distributed and performance
provides flexibility for writing the scripts for test automation. analysis, server monitoring and visualizations can be done.
4.1.1.3 Environment Switching 4.1.5.2Monitoring Performance
SOAPUI allows testing the web API by switching in SoapUI NG provides advance reporting system for
multiple environments such as UAT (User Acceptance capturing various performance parameters in load testing.
Testing), QA (Quality Assurance), SIT (System Integration) Apart from this it also provides performance monitoring
etc. for end-to-end system load testing.
4.1.1.4 Test Debugging 4.2 Supported Protocols/Technologies
SOAPUI helps tester in debugging the test scripts and
SOAPUI supports most comprehensive set of protocols which
allows user to write data driven tests. Tester can put
is depicted in Fig 1.
multiple check points to check that the test is getting executed
as expected or not.
24
International Journal of Computer Applications (0975 – 8887)
Volume 167 – No.2, June 2017
SOAP –Simple Object Access Protocol resources privacy related terms of use and about the version
WSDL – Web Service Description Language of software.
REST – Representational State Transfer
HTTP – Hyper Text Transfer Protocol 4.4.2File
HTTPS – Hyper Text Transfer Protocol Secure As shown in Fig 3, SOAPUI tool has a visual and handy
AMF – Action Message Format structure of the File menu. Below the Menu bar there is
JDBC – Java Database Connectivity shortcut for File which allows single click solution for all
JMS – Java Messaging Service options present under the File menu. User can directly use
these options by clicking on it instead of going into File menu
4.3 SOAP-Integration again and again.
SOAP can be integrated with many tools like Maven, Hudson,
Junit, Apache Ant and many more. Few of them are described
as under -
4.3.1 Maven
Apache Maven is a tool for project management that can Fig 3: SOAPUI shortcut for File
manage the builds of project, documentation and repository
from a central location. SOAPUI tests can b e executed using 4.4.3 Navigator
Maven with simple command. The Navigator filed on SOAP UI tool allows navigating
across various projects. Fig 4 shows a snapshot of SOAPUI
4.3.2Hudson Navigator. Navigator allows switching between the projects
Hudson is a java based continuous integration tool which and services of the project.
integrates with CVS, Subversion, Git, Perforce and RTC.
SOAPUI integrates with Hudson to find out the bugs that any
developer commits while developing the software.
4.3.3Junit
SOAPUI test flow can be controlled by Junit testing
framework which is used for testing modules.
4.3.4ApacheAnt
It is a command-line tool used for software building. Using
SOAPUI’s command line Ant automated tests can be
executed.
4.4.1Menu B ar
The File menu which is depicted in Fig 2 has various options
for creating new projects for SOAP or REST requests. It also
has options to import existing project. Apart from this it Fig 4: SOAPUI Navigator
allows to open, close and save projects. [12] The file menu
provides us an option for setting global SOAPUI preferences. 4.4.4 Interface Viewer
All the menus in SOAPUI has tool tip text which tells what an It provides the important information about SOAP/REST
option does by hovering over it. service. It also provides details about WSDL, Service
endpoints and WSDL content.
25
International Journal of Computer Applications (0975 – 8887)
Volume 167 – No.2, June 2017
Fig 8: Properties
4.4.8 Logs
SOAPUI displays various logs like SOAPUI log, http log, and
memory log at the bottom of the tool interface. These logs are
Fig 7: Adding Test step in test case depicted in Fig 9, Fig 10 and Fig 11 respectively.
The major role in test step is played by Assertions. SOAPUI 4.4.8.1 SoapUI log
allows user to add assertions of various types. By double The SoapUI log is used for displaying the information of
clicking on the test step, test step is opened in new window response from the web server. This information is stored
which has a green ‘+’ sign and it can be used for adding inside the soapui.log file which is stored under the SoapUI
assertions. installation folder under the ‘bin’ directory.
26
International Journal of Computer Applications (0975 – 8887)
Volume 167 – No.2, June 2017
5. SOAPUI (OPEN-SOURCE)
DRAWBACKS
SOAPUI has got certain drawbacks also . Some of them are
listed below -
Fig 9: SoapUI Log
SoapUI gives issues when working with JSON
4.4.8.2 Http Log: response if it contains special characters. So, it is
It is used for displaying the HTTP packet transfer. The not easy to add assertion on JSON response.
information is shown in RAW format in HTTP Log. Work flow testing and Load testing are difficult to
perform.
SoapUI is easy for testing but difficult for
documentation.
It is also observed that the SoapUI customer support
response is late.
6. CONCLUSION
SoapUI is an open source tool which is easily available for
everybody to use. It also has a commercial version with the
additional features. Continuous improvement of the SoapUI is
going on and making it stronger day by day. As it is an open
source tool various intelligent people are contributing towards
Fig 10: Http Log it and making it more efficient to use. Due to existence of
such tool it has become easy to test the web services and web
APIs. A lot of time and efforts required by manual testers are
4.4.8.3 Memory Log saved due to this. SoapUI can be seen as a solution for
The memory log monitors the memory consumption and automation of API testing. Going forward more and more
displays it in the form of the charts. When any memory people will start making use of it and it will become an
intensive operation is performed this type of log plays an inseparable part of automation testing of web services. Rather
important role. we can say that it has already become an integral part of the
web service and API testing.
7. REFERENCES
[1] Shariq Hussain, Paper on Web Service Testing Tools: A
Comparative Study
[2] Ravi Kumar, Research article on A Comparative Study
and Analysis of Web Service Testing Tools
[3] Evan Martin, Paper on Automated Robustness Testing of
Web Services
Fig 11: Memory Log [4] Mustafa Bozkurt, Testing Web Services: A Survey
Apart from all these SoapUI also provides the operations of [5] Vinod Patil, Introduction to Testing Web services
jetty log, error log and wsrm log also. [6] Tanuj Wala, A Comparative Study of Web Service
Testing Tools
4.5 SOAPUI NG Pro features
SoapUI NG Pro has additional features such as more number [7] SmartBear Software Further Expands by Acquiring
of views like HTML, JSON, Outline and Overview including World’s Most Widely Used Web Services Testing Tool
basic XML and Raw view tabs. It also has more number of soapUI https://smartbear.com/news/press-releases/
assertions.[14] Its additional features are listed below - smartbear-acquiring-web-services-testing-tool/
27
International Journal of Computer Applications (0975 – 8887)
Volume 167 – No.2, June 2017
[8] Getting Started With SoapUI [12] Introduction for the SoapUI Newbie
https://www.SoapUI.org/getting-started/introduction https://www.soapui.org/getting-started/10-tips-for-the-
.html/ soapui-beginner.html
[9] Understanding SOAP and REST Basics And Differences [13] Installation and Configuration of SoapUI
https://blog.smartbear.com/apis/understanding-soap-and- http://www.softwaretestingclass.com/installation-and-
rest-basics/ configuration-of-soap-ui-complete-guide/
[10] Why use SoapUI Pro for Functional Testing? [14] Advanced SOAP and REST API Functional Testing with
https://www.soapui.org/functional-testing/getting- SoapUI NG Pro https://www.soapui.org/professional/
started.html soapui-ng-pro.html
[11] API Testing Features https://www.soapui.org/open-
source/features.html
IJCATM : www.ijcaonline.org 28