Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save pbandreddy/f20124bd23e2f0298b8e196a92b45dee to your computer and use it in GitHub Desktop.
Save pbandreddy/f20124bd23e2f0298b8e196a92b45dee to your computer and use it in GitHub Desktop.
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