API Automation using Java Karate Framework

Modified on Thu, 7 Aug at 3:08 PM

TABLE OF CONTENTS

1.Overview

2. Prerequisites

2.1 Installations

2.2 Adding dependencies in the POM file

3. Automating API leveraging algoQA

3.1 Example

3.2 Selecting TestStep Settings options in the Edit Scenario

4. Generating the scripts

5. Executing the scripts.


1.Overview

Karate is an open-source framework for API testing that integrates API testing with BDD (Behavior Driven Development). It allows you to write tests in a readable format using Gherkin syntax.

2. Prerequisites

2.1 Installations

Install Java and Maven by following the steps described in Configuring Web Applications Using Java Selenium Framework.

2.2 Adding dependencies in the POM file

Perform the following:

  1. Navigate to the algoQA script generated folder structure.
  2. Click the POM file.
  3. Make sure to create a Maven Project if it has not been created earlier and add the following dependencies in the POM file:
    <dependency>
      <groupId>com.intuit.karate</groupId>
      <artifactId>karate-core</artifactId>
      <version>1.4.0</version>
    </dependency>
    <dependency> 
      <groupId>com.intuit.karate</groupId> 
     <artifactId>karate-apache</artifactId> 
     <version>0.9.6</version> 
     <scope>test</scope> 
    </dependency>
    <dependency>
     <groupId>com.intuit.karate</groupId> 
     <artifactId>karate-junit4</artifactId> 
     <version>1.3.1</version> 
     <scope>test</scope> 
    </dependency>

3. API Test Automation leveraging algoQA

This section provides how to automate an API by leveraging algoQA platform.

3.1 Example

Consider the following examples to login, create a profile and delete a profile for a user using the following Feature names and HTTP Methods:

Feature Names
HTTP Methods to call API 
Login
POST
Create a profile
POST
Delete a profile 
DELETE

In this automation, configure the nodes, corresponding features, and UI elements as described in the following steps:

Perform the following:

  1. Navigate to the Canvas. Add node and enter 'User management' as the name. 
  2. Add Login, Create Project and Delete Project features in Test Design.
  3. Click on Login feature and add the following control names and control values as shown in the following table. Ensure to select Text Box as the Control Type for all the UI elements that you are providing:

    Control/UI element Name 
    Control Values 
    Login End Point url
    "https://algoshack.net/user/login/"
    Login Method
    POST
    Login Header
    Content-Type = 'application/json'
    Login Request body
    {"user":{"email":"<username>@gmail.com", "password":"encrypted format"}}. Here, replace "<username>@gmail.com" with the actual user's email ID and "encrypted format" with the actual user's encrypted password.
    Login Output
    200
    Login store variable
        <accessToken> Here, replace with a actual variable.

    Sample screenshot:


  4. Similarly enter appropriate UI elements and Corresponding Control values for Create Project and Delete Project. 

  5. Record a scenario using Follow Me feature and generate Test Cases. Test cases are generated in the Test cases Tab. For more information, see Profiling article. The feature file can be viewed in Test Cases. 

3.2 Selecting TestStep Settings options in the Edit Scenario

Perform the following; 

  1. Navigate to Scenarios List>>Scenario Steps List>>Edit Step Form secondary screen by clicking the Edit icon of the first GWT step arranged in the sequence, select the 'no precondition' option from the TestStep Settings dropdown list and save (Login End Point url in this case).
  2. For the last step, select the 'no postcondition' option (in this case- Delete_Project_output) from TestStep Settings dropdown list.
  3. In the Scenario Sequence section, clear the GwtInput contents if it exists for all the GWT steps.
  4. You can add specific comments in the Comment textbox, which is specifically used for this framework. Click the'+' icon besides Gwt Step and click on Comment on to view Comment space. Add comment and click on save.


4. Generating the scripts

Perform the following:

  1. Click on Generate Test Case from Test Design screen and generate scripts either from test case generation pop-up window or from test cases tab.
  2. Navigate to Test Cases, click on generate script and select the generated Feature File and XLS file.Scripts generation pop-up appears from where you can view and download the scripts.
  3. For more information on Generating scripts, refer to Generate and Execute Scripts  in the How to Automate Web Applications article.

5. Executing the scripts.

  1. Download the script generated to your local folder.
  2. Extract the contents to your local drive. 
  3. Open the command prompt from the same folder where you have extracted the script. 
  4. Run the following command to execute the script:
    mvn test -Dkarate.options="--tags @test001
  5. You can view the respective report in the script generated folder, as shown: 















 


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article