Created
July 24, 2023 05:20
-
-
Save pbandreddy/f20124bd23e2f0298b8e196a92b45dee to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import groovy.json.JsonSlurper | |
// Get the extracted "users_id" from the variable | |
def expectedUserId = vars.get("userId").toInteger() | |
// Parse the JSON response | |
def response = SampleResult.getResponseDataAsString() | |
def json = new JsonSlurper().parseText(response) | |
// Get the actual "users_id" value from the JSON | |
def actualUserId = json.data.users_id.toInteger() | |
// Validate "users_id" | |
if (actualUserId != expectedUserId) { | |
AssertionResult.setFailure(true) | |
AssertionResult.setFailureMessage("users_id does not match. Expected: ${expectedUserId}, Actual: ${actualUserId}") | |
} | |
//If you want to validate multiple values in the JSON response, you can add multiple assertions to check each value separately. You can use the JSR223 Assertion in JMeter to perform the validation. Here's an example of how you can validate multiple values from your sample JSON response: | |
//Let's assume you want to validate the following values: | |
//users_id | |
//first_name | |
//last_name | |
//has_email_verified | |
//source_of_registration | |
//You can add a JSR223 Assertion for each value like this: | |
import groovy.json.JsonSlurper | |
// Parse the JSON response | |
def response = SampleResult.getResponseDataAsString() | |
def json = new JsonSlurper().parseText(response) | |
// 1. Validate users_id | |
def expectedUserId = 17815 | |
def actualUserId = json.data.users_id.toInteger() | |
if (actualUserId != expectedUserId) { | |
AssertionResult.setFailure(true) | |
AssertionResult.setFailureMessage("users_id does not match. Expected: ${expectedUserId}, Actual: ${actualUserId}") | |
} | |
// 2. Validate first_name | |
def expectedFirstName = "Perfkjfik" | |
def actualFirstName = json.data.first_name | |
if (!actualFirstName.equals(expectedFirstName)) { | |
AssertionResult.setFailure(true) | |
AssertionResult.setFailureMessage("first_name does not match. Expected: ${expectedFirstName}, Actual: ${actualFirstName}") | |
} | |
// 3. Validate last_name | |
def expectedLastName = "PD" | |
def actualLastName = json.data.last_name | |
if (!actualLastName.equals(expectedLastName)) { | |
AssertionResult.setFailure(true) | |
AssertionResult.setFailureMessage("last_name does not match. Expected: ${expectedLastName}, Actual: ${actualLastName}") | |
} | |
// 4. Validate has_email_verified | |
def expectedHasEmailVerified = 0 | |
def actualHasEmailVerified = json.data.has_email_verified.toInteger() | |
if (actualHasEmailVerified != expectedHasEmailVerified) { | |
AssertionResult.setFailure(true) | |
AssertionResult.setFailureMessage("has_email_verified does not match. Expected: ${expectedHasEmailVerified}, Actual: ${actualHasEmailVerified}") | |
} | |
// 5. Validate source_of_registration | |
def expectedSourceOfRegistration = "app.open.money" | |
def actualSourceOfRegistration = json.data.source_of_registration | |
if (!actualSourceOfRegistration.equals(expectedSourceOfRegistration)) { | |
AssertionResult.setFailure(true) | |
AssertionResult.setFailureMessage("source_of_registration does not match. Expected: ${expectedSourceOfRegistration}, Actual: ${actualSourceOfRegistration}") | |
} | |
//you can add additional checks to handle null values and fail the assertion if any of the expected values are null. Here's the modified script that includes checks for null values: | |
import groovy.json.JsonSlurper | |
// Parse the JSON response | |
def response = SampleResult.getResponseDataAsString() | |
def json = new JsonSlurper().parseText(response) | |
// 1. Validate users_id | |
def expectedUserId = 17815 | |
def actualUserId = json.data.users_id?.toInteger() | |
if (actualUserId == null || actualUserId != expectedUserId) { | |
AssertionResult.setFailure(true) | |
AssertionResult.setFailureMessage("users_id does not match or is null. Expected: ${expectedUserId}, Actual: ${actualUserId}") | |
} | |
// 2. Validate first_name | |
def expectedFirstName = "Perfkjfik" | |
def actualFirstName = json.data.first_name | |
if (actualFirstName == null || !actualFirstName.equals(expectedFirstName)) { | |
AssertionResult.setFailure(true) | |
AssertionResult.setFailureMessage("first_name does not match or is null. Expected: ${expectedFirstName}, Actual: ${actualFirstName}") | |
} | |
// 3. Validate last_name | |
def expectedLastName = "PD" | |
def actualLastName = json.data.last_name | |
if (actualLastName == null || !actualLastName.equals(expectedLastName)) { | |
AssertionResult.setFailure(true) | |
AssertionResult.setFailureMessage("last_name does not match or is null. Expected: ${expectedLastName}, Actual: ${actualLastName}") | |
} | |
// 4. Validate has_email_verified | |
def expectedHasEmailVerified = 0 | |
def actualHasEmailVerified = json.data.has_email_verified?.toInteger() | |
if (actualHasEmailVerified == null || actualHasEmailVerified != expectedHasEmailVerified) { | |
AssertionResult.setFailure(true) | |
AssertionResult.setFailureMessage("has_email_verified does not match or is null. Expected: ${expectedHasEmailVerified}, Actual: ${actualHasEmailVerified}") | |
} | |
// 5. Validate source_of_registration | |
def expectedSourceOfRegistration = "app.open.money" | |
def actualSourceOfRegistration = json.data.source_of_registration | |
if (actualSourceOfRegistration == null || !actualSourceOfRegistration.equals(expectedSourceOfRegistration)) { | |
AssertionResult.setFailure(true) | |
AssertionResult.setFailureMessage("source_of_registration does not match or is null. Expected: ${expectedSourceOfRegistration}, Actual: ${actualSourceOfRegistration}") | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment