What are Web Services?


Web services are open standard (XML, SOAP, HTTP, etc.) based web applications that interact with other web applications for the purpose of exchanging data. Web services can convert your existing applications into web applications.

To know more about Web Services, please check the detailed guide here - What are Web Services?


The main difference between Web Services and other Application types such as Web Applications and mobile Applications is that Web Services necessarily don't provide a Graphical User Interface(GUI) for the user to interact with.

Note: From here on in this article, we will refer Web/Mobile Applications as normal Applications if not specified otherwise.


Therefore, testing Web Services is more difficult when compared to testing GUI based applications.


Testsigma allows you to perform Web Services Testing in a easy and interactive manner without the use of programs or scripts.


Creating a Web Service Test


Creating and running a Web Service Test involves the following steps:

  1. Creating a Project

  2. Creating a Test Case

  3. Adding Test Steps to the Test Cases

  4. Creating a Test Suite

  5. Running the Tests


1. Creating a Project


We can either create a new Project for the Web Service Test or add it to an existing Project.

Please refer this article for a detailed guide on creating/editing/deleting Project - How to Create/Edit/Delete Project?


To add it to an existing project, select the Project and create the Application with the Application Type as 'RESTful Web Service'

Please refer this article for a detailed guide on creating/editing/deleting Application - How to Create/Edit/Delete Application?


After creating a RESTful Web Service application, we can move on to creating Test Cases to the already created Web Service.


2. Creating a Test Case


Though there are minor differences, creation of a Web Service Test Case is quite similar to the process of creating normal Application Test Cases.

Please refer this article for a detailed guide on creating/editing/deleting Test Cases - How to add/edit/delete automated Test Case?


After creating a Test Case required by the Web Service Test, we can move on to adding Test Steps to the already created Test Cases.


3. Adding Test Steps to the Test Cases


Navigate to the Create Test Step page as follows:


Create/Select Project > Create/Select Application > Create/Select Version > Create/Select Test Case > Create Test Step


The Create Test Step page looks like given below:



Enter the details as given below:


Select from one of the Test Steps specification type:

  • Natural Language / Template

  • Step Group

  • Custom Function


Natural Language / Template


Title: Enter a title for the Test Step.


URL: The web address endpoint of the RESTful Web Service to perform testing on.


Http Methods: Select from one of the http request types to perform:

  • GET, POST, PUT, DELETE, or HEAD

Here's an article to know more about Usage of various HTTP requests for REST API Testing in Testsigma


Header: Select the JSON data format in which Request Header is to be provided. After selecting the format, Enter the Request Header in the following field.

  • JSON String - Enter the Request as a JSON String

  • JSON Key & Value - Enter the Request as a pair of JSON key and value

    • Add Row: Add additional request data rows to enter more data.


Payload: Enter the Request Body to be sent for POST, PUT and DELETE request types.


Test: Select one of the test types to perform:

  • Status Code - Compare the Response Status Code with expected Status Code.

  • Header Test - Compare the Response Header with expected Header.

  • Body Test - Compare the Response Body with expected Body.

  • All - Perform all of the above tests.


Expected Status Code: Enter the status code expected in response.


Header Compare Type: Select any one of the following options to specify the header comparison method(comparison rigidity):

  • Strict - Not extensible, and strict array ordering.
  • Lenient - Extensible, and non-strict array ordering.

  • Non-extensible - Not extensible, and non-strict array ordering.

  • Strict order - Extensible, and strict array ordering.

Here's an article for more details on Comparison Modes in Web Services Testing


Header Test: Enter the expected Response Header content.


Body Compare Type: Select any one of the following options to specify the Response Body content type:

  • Strict - Not extensible, and strict array ordering.

  • Lenient - Extensible, and non-strict array ordering.

  • Non-extensible - Not extensible, and non-strict array ordering.

  • Strict order - Extensible, and strict array ordering.

  • JSON Schema - Expected Response Body content format

  • JSON path - Expected Response Body content format

Here's an article for more details on Comparison Modes in Web Services Testing


Body Test: Enter the expected Response Body content.


Store Metadata: Check this option to store the Response as metadata for debugging purposes.


Priority: Select the priority level that you want to set for this Test Case.


Mandatory: Select this option if this Test Step is critical in the execution flow.

For example, this option is useful if you need to run only the mandatory steps in smoke execution to save execution time.


Prerequisite: Select a previously created Test Step if that is a prerequisite for this Test Step.


After entering all the above details, click on Create to create the Test Step and add it to the current Test Case.


Follow the same procedure to add multiple Test Steps to the Test Case.


4. Creating a Test Suite

A Test Suite is used to group a set of Test Cases that need to be executed in a Test Run.


Please check this article for a detailed guide on managing Test Suites - How to add/edit/delete Test Suite?


5. Running the Tests


Once the Test Suite is created, we have three methods to run it. They are:

  • Dry Run - It is used to test if the newly created Test Case is working as expected or not. It is a one-click method to execute newly created Test Cases but lacks the flexibility and power of Normal Execution. The Drawback of Dry Run is that only a single Test Case can be executed using it. For running multiple Test Cases, we use Quick Execution.
  • Quick Execution - Quick execution is similar to Dry Run in every aspect except that we can select Multiple Test Cases for Quick Execution.
  • Normal Execution - Normal Execution is the most powerful and versatile option to execute tests and it allows us to execute the tests on multiple execution environments simultaneously.

For more details on each of these execution methods, please check this article - Different Types of Execution Methods in Testsigma


If you would prefer a normal execution with more than one Execution environments, we can create a Normal Execution for that. We just need to select Testsigma Labs in the Execution model while creating the Execution.


Please check this article for more details on managing Executions - How to create/edit/delete Executions?


After creating the Execution by selecting Execution Model as 'Testsigma labs' and adding an Execution Environment, we will be taken to the Executions page where our newly created Execution will be listed.


1. Click on Run Now to start the Execution. We will get a success notification stating that the Execution has been initiated.


2. Next, click on the Run Results menu item on the left navigation pane to switch to the Run Results page.


3. Finally, click on the Execution name to go to the Execution Run Results. We can see the Execution Result with details such as Run ID, Start time, Duration, and a Summary with the Status of Execution.