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
- Let's say if we want to assert the value returned from a function.
def result = sum(1,2) assert sum(1,2) == 3