Data driven testing per request without using data file
2 min readMar 18, 2021
Create a environment variable called “csv” and copy the below content and paste it as value:
username,password,error_message,error_code
username1,password1,errormessage1,errorcode1
username1,password1,errormessage1,errorcode1
Now in pre-request add :
//we use variables as it will get destroyed after the run . So if index returns null then it means it’s the first iterationif (!pm.variables.get("index")) { const parse = require('csv-parse/lib/sync')
//Environmental variable where we copy-pasted the csv content
const input = pm.environment.get("csv");
const records = parse(input, {
columns: true,
skip_empty_lines: true
}) pm.variables.set("index", 0)
pm.variables.set("records", records)
}records = pm.variables.get("records")
index = pm.variables.get("index")//we are setting variable
if (index !== records.length) {
for (let i of Object.entries(records[index])) {
pm.variables.set(i[0], i[1])
}
pm.variables.set("index", ++index)
pm.variables.get("index")===records.length?null:postman.setNextRequest(pm.info.requestName)
}