13 Assertions - biswajitsundara/Karate GitHub Wiki

Karate assert/match keywords work for string. There are more validations for Integer using assert keyword.

Feature: User details

  Background: 
    * url 'https://reqres.in'
    * def expectedoutput = read('./data/data.json')

  Scenario: Assert JSON response
    Given path '/api/users/2'
    When method GET
    Then status=200
    And print response
    And match response == expectedoutput

  Scenario: JSON order doesn't matter
    * def userReq = {"name":"Ranveer","wife":"Deepika"}
    * def userRes = {"name":"Ranveer","wife":"Deepika"}
    And match userReq == userRes
    * def userRes1 = {"wife":"Deepika","name":"Ranveer"}
    And match userReq == userRes1

  Scenario: Not equals
    * def userReq = {"name":"Ranveer"}
    * def userRes = {"name":"Virat"}
    And match userReq != userRes

  Scenario: Contains (check if the field exists)
    Given path '/api/users/1'
    When method GET
    Then status=200
    And print response
    And match response.data contains {"email":"[email protected]"}
    And match response.data !contains {"email":"[email protected]"}

  Scenario: Match array
    Given path '/api/users/'
    And param page = 2
    When method GET
    Then status=200
    And print response
    And match response.data[*].id contains [7,8,9]
    And match response..id contains [7,8,9]

  #Here match response.total > 10 doesn't work
  Scenario: Integer value
    Given path '/api/users/'
    And param page = 2
    When method GET
    Then status=200
    And print response
    And match response.total == 12
    And assert response.total > 10

Notes

  • Let's say if we want to assert the value returned from a function.
def result = sum(1,2)
assert sum(1,2) == 3
⚠️ **GitHub.com Fallback** ⚠️