WEB SERVICES TESTING COURSE OUTLINE Module 1: Introduction to Web services What is a web service? Why do we use web service? What is XML? Why XML is used for communication? Famous protocols used in web services What is WSDL? How SOAP UI helps us Java OR groovy? SOAP UI free version SOAP UI Java Api Soap UI Pro Protocols supported by SoapUI How one should use soap UI Download and install SOAP UI Future of web services How will we be going the course Module 2: Groovy Introduction Introduction to Groovy script Why do we need Scripting/programming language Building test suites, Test cases and Test steps in SOAP UI Groovy script test step JVM runs behind soapui log object in SOAP UI Info and error log Auto-saving project-very Imp Variable in Groovy Module 3: Groovy Script Test Step - Context, Test Runner Cloning test suite/test case and usage testrunner Variable Stop/fail a test case
Finding status of a test Finding time taken to execute a test step Navigating to various levels with testrunner Variable WsdlTestRunContext object Accessing context object across test cases Executing a test step in test case from test step in same test case Executing a test step in test case from test step in different test case Executing test case step with groovy Executing Test Request Test Step from groovy test step if Response is not present Setting parameters in the request from groovy test step Module 4: File Reading Reading properties file Advantages of properties file Reading/Writing Xls Files Storing data in Xls files Making a jar file with eclipse Importing custom jars in SoapUI When do we make and import jars in soapui Using log object inside the groovy class Module 5: Database connection Parameters Why connect to database? Various databases which are supported Drivers for database connection groovy.sql.sql package Try, catch and finally in db connection Forming groovy connection string and obtaining Connection Object Firing Select Query and obtaining results Foreach and rows functions Conditions in select query GroovyRowResult class Finding number of rows in result Getting result in form of a list Firing update and insert queries Execute and executeupdate with parameters Execute and executeupdate with Map DataSet - Altering database
Module 6: Assertions What is assertion? Validating response Contains, not contains assertions Xpaths in XMLs Xpath Assertions Xpath Functions Regular expressions in Xpaths XQuery Assertions Compliance, Status and Standards Assertions Preventing sensitive data to be visible in response- Security assertion SLA Assertion Best way to use assertions Practicality for using inbuilt assertion features Module 7: Properties in SOAPUI Properties at Different Level (TestCase, TestSuite, Project, Global) Custom and Project Properties Deciding levels for properties Practical usage/importance of properties Setting properties manually Handling Properties at all levels with groovy Different ways of reading properties in groovy Property Expansion using Groovy/context variable Passing on properties in request Reading response of one request test step and passing response values in request of another test step. Properties test step Test Request test Step custom properties Load property from.properties file When do we use properties file Reading properties file from groovy Property transfer test step Property Expansion using Property Transfer Step Module 8: SOAPUI PRO / API testing 1 Why SOAPUI Pro?
Difference between soapui OS and soapui pro Downloading/Installing SOAPUI PRO SOAPUI PRO with SOAP and REST What is REST(Representational State Transfer) Architecture JSON based REST Architecture XML based REST Architecture Difference between REST and SOAP API testing with REST CRUD operations POST, GET, PUT and DELETE requests in REST Module 9: REST WEB SERVICE / API Testing Creating a new REST service Deciding Service EndPoints Resource and Methods Creating GET, POST, PUT and DELETE requests Setting/Deciding media type Sending a simple POST login REST request and getting JSON response Sending POST request parameters in message using JSON Reading JSON Response with groovy Reading headers and passing cookies in headers Reading header information containing sessionid Maintaining session over subsequent requests Firing another REST request with session ID from previous response Assertion test Step in SOAPUI PRO Techniques to validate JSON response Validating/Asserting JSON response with JsonSlurper Validating/Asserting JSON response XmlHolder Module 10: Data Driven Framework DataSource Test Step DataSource Loop Test Step DataSink Test Step Storing/Reading test data from XLS/XML Storing/Reading test data from Database Saving request and response in a text file for every request Loop a test with different sets of data Using DataSource, DataSource Loop and DataSink Preventing the flow to stop if assertion fails
Generate xls reports Launch TestRunner Option Reporting HTML Reporting - XLS