I have published a GitHub repository
This project is a working example, which shows
- hoow to define a parameterised TestObject
- Test Case turns a parameterised TestObject to a RequestObject
- using that RequestObject, Test Case makes multiple times of request&response interaction to (https://petstore.swagger.io/v2/pet/findByStatus?status=${status})
while interpolating the parameter with values as wanted
Please read the source of Test Cases/multiple_searches_for_pets_by_status
and study it to find out how it works.
This example may not be an immediate answer to your problem. But hopefully it will give you some idea.
The TestObject looks like this:
The Test Case script looks like this:
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.testobject.RequestObject
import com.kms.katalon.core.testobject.ResponseObject
import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
def statusList = ["available", "pending", "sold"]
for (status in statusList) {
println "-------------------- ${status} pets --------------------"
String doc = retrievePetsByStatus(status)
println doc
}
def retrievePetsByStatus(String status) {
TestObject tObj = findTestObject("Object Repository/my/petstore_findByStatus_parameterized", ["status": status])
RequestObject req = (RequestObject)tObj
ResponseObject res = WS.sendRequest(req)
return res.getResponseBodyContent()
}
When I rant it I saw outputs like this:
-------------------- available pets --------------------
[{"id":9222968140497154442,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154443,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154444,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154445,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154446,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154447,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154448,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154449,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154450,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154458,"category":{"id":0,"name":"string"},"name":"test","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":1245,"category":{"id":1245,"name":"xyz"},"name":"xyz","photoUrls":["test"],"tags":[],"status":"available"},{"id":9222968140497154462,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154463,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154464,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154465,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154466,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154467,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154468,"name":"test_name","photoUrls":[],"tags":[],"status":"available"},{"id":9222968140497154469,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154470,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154471,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154472,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154473,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154474,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154475,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154476,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154477,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154478,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154479,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154480,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154481,"category":{"id":0,"name":"string"},"name":"doggie","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154491,"category":{"id":0,"name":"string"},"name":"test","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154492,"category":{"id":0,"name":"string"},"name":"test","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154497,"name":"test_name","photoUrls":[],"tags":[],"status":"available"},{"id":9222968140497154498,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154499,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154500,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":[{"id":0,"name":"string"}],"status":"available"},{"id":9222968140497154501,"category":{"id":0,"name":"string"},"name":"fish","photoUrls":["string"],"tags":
.... trimmed
-------------------- pending pets --------------------
[{"id":1716,"category":{"id":101,"name":"testcategory"},"name":"getcat","photoUrls":["a.png","b.png"],"tags":[{"id":102,"name":"testtag1"},{"id":103,"name":"testtag2"}],"status":"pending"},{"id":1980,"category":{"id":101,"name":"testcategory"},"name":"getcat","photoUrls":["a.png","b.png"],"tags":[{"id":102,"name":"testtag1"},{"id":103,"name":"testtag2"}],"status":"pending"},{"id":1777,"category":{"id":101,"name":"testcategory"},"name":"getcat","photoUrls":["a.png","b.png"],"tags":[{"id":102,"name":"testtag1"},{"id":103,"name":"testtag2"}],"status":"pending"},{"id":1175,"category":{"id":101,"name":"testcategory"},"name":"getcat","photoUrls":["a.png","b.png"],"tags":[{"id":102,"name":"testtag1"},{"id":103,"name":"testtag2"}],"status":"pending"},{"id":5,"category":{"id":5,"name":"jimmy"},"name":"jimmy","photoUrls":[],"tags":[{"id":5,"name":"jimmy"}],"status":"pending"}]
-------------------- sold pets --------------------
[{"id":1117,"category":{"id":101,"name":"testcategory"},"name":"valueimplcat","photoUrls":["a.png","b.png"],"tags":[{"id":102,"name":"testtag1"},{"id":103,"name":"testtag2"}],"status":"sold"},{"id":1622,"category":{"id":101,"name":"testcategory"},"name":"valueimplcat","photoUrls":["a.png","b.png"],"tags":[{"id":102,"name":"testtag1"},{"id":103,"name":"testtag2"}],"status":"sold"}]