I am not able to read multiple data set for get request | Soapui Tutorial |Soapui Training |Web services testing

SOAPUI Training Forum

i am not able to read multiple data set for get request

D
deepakrai.cse@gmail.com Post on 14/10/2018

hi-
i am validating a request where multple category eg-4 fetched in response and each category has a name
i want to validate each name exist or not in response but the code i have written validating only one caterofy name and this name is validating with all other name pls let me knwo how it will validate wiht all the name
below is my response ,script and result in excel.

waiting for your response its very urgent

==============================Response===================================
{
"limit" : 20,
"offset" : 0,
"count" : 4,
"total" : 4,
"results" : [
{
"id" : "2e7c7d14-6e8a-441f-a325-9ba1961f69a5",
"key" : "c2",
"version" : 20,
"name" : {
"de-DE" : "Redner",
"sv-SE" : "Högtalare",
"en-GB" : "Speakers",
"it" : "Speaker",
"en" : "Speaker",
"da-DK" : "Højttaler",
"de" : "Speaker"
},
"slug" : {
"de-DE" : "Speaker",
"sv-SE" : "Speaker",
"en-GB" : "Speaker",
"it" : "Speaker",
"en" : "Speaker",
"da-DK" : "Speaker",
"de" : "Speaker"
},
"description" : {
"da-DK" : "Category description",
"en-GB" : "Speakers description",
"de-DE" : "Category description",
"sv-SE" : "Category description"
},
"ancestors" : [ ],
"orderHint" : "0.00001533710213728513601",
"createdAt" : "2018-08-08T06:36:54.177Z",
"lastModifiedAt" : "2018-10-03T13:36:36.782Z",
"externalId" : "2",
"metaTitle" : {
"de-DE" : "Speaker DE",
"sv-SE" : "Speaker SV",
"en-GB" : "Speaker EN",
"it" : "Speaker",
"en" : "Speaker",
"da-DK" : "Speaker DA",
"de" : "Speaker"
},
"metaDescription" : {
"da-DK" : "Category description",
"en-GB" : "Category description",
"de-DE" : "Category description",
"sv-SE" : "Category description"
},
"custom" : {
"type" : {
"typeId" : "type",
"id" : "348d3f9f-f82a-4cb2-ad7b-042b7e263814"
},
"fields" : {
"type" : "category",
"imageUrl" : "https://www.beoplay.com/~/media/buymodules/beolit17/gallery_buymodule_beolit17/desktop/beolit17_black_hero.jpg"
}
},
"assets" : [ ],
"lastMessageSequenceNumber" : 2
},
{
"id" : "99e0d67f-d040-4dfc-ab0e-06401d51edf8",
"key" : "c3",
"version" : 17,
"name" : {
"de-DE" : "Kopfhörer",
"sv-SE" : "Hörlurar",
"en-GB" : "Headphones",
"it" : "Headphone",
"en" : "Headphone",
"da-DK" : "Hovedtelefon",
"de" : "Headphone"
},
"slug" : {
"de-DE" : "Headphone-DE",
"sv-SE" : "Headphone-SV",
"en-GB" : "Headphone-EN",
"it" : "Headphone",
"en" : "Headphone",
"da-DK" : "Headphone-DA",
"de" : "Headphone"
},
"description" : {
"da-DK" : "Category description DA",
"sv-SE" : "Category description SV",
"de-DE" : "Category description DE",
"en-GB" : "Category description EN"
},
"ancestors" : [ ],
"orderHint" : "0.000015337102137285136017",
"createdAt" : "2018-08-08T06:36:54.57Z",
"lastModifiedAt" : "2018-10-03T13:36:36.773Z",
"externalId" : "3",
"metaTitle" : {
"de-DE" : "Headphone DE",
"sv-SE" : "Headphone SV",
"en-GB" : "Headphone EN",
"it" : "Headphone",
"en" : "Headphone",
"da-DK" : "Headphone DA",
"de" : "Headphone"
},
"metaDescription" : {
"da-DK" : "Category description DA",
"sv-SE" : "Category description SV",
"de-DE" : "Category description DE",
"en-GB" : "Category description EN"
},
"custom" : {
"type" : {
"typeId" : "type",
"id" : "348d3f9f-f82a-4cb2-ad7b-042b7e263814"
},
"fields" : {
"type" : "category",
"imageUrl" : "https://www.beoplay.com/~/media/buymodules/ss18/h4/gallery/desktop/h4_steelblue_hero.jpg"
}
},
"assets" : [ ],
"lastMessageSequenceNumber" : 2
},
{
"id" : "b7393c4c-7164-4b82-96da-c6164c069ca9",
"key" : "c1",
"version" : 23,
"name" : {
"de-DE" : "Fernsehens",
"sv-SE" : "Televisions SV",
"en-GB" : "Televisions",
"it" : "Television",
"en" : "Television",
"da-DK" : "Televisions DA",
"de" : "Television"
},
"slug" : {
"de-DE" : "Television-DE",
"sv-SE" : "Television-SV",
"en-GB" : "Television-EN",
"it" : "Television",
"en" : "Television",
"da-DK" : "Television-DA",
"de" : "Television"
},
"description" : {
"de-DE" : "description DE",
"sv-SE" : "description SV",
"en-GB" : "description EN",
"da-DK" : "description DA",
"en-US" : "description"
},
"ancestors" : [ ],
"orderHint" : "0.000015337102137285136017055",
"createdAt" : "2018-08-08T06:36:53.728Z",
"lastModifiedAt" : "2018-10-03T10:36:46.066Z",
"externalId" : "1",
"metaTitle" : {
"de-DE" : "Television",
"sv-SE" : "Television",
"en-GB" : "Television",
"it" : "Television",
"en" : "Television",
"da-DK" : "Television",
"de" : "Television"
},
"metaDescription" : {
"de-DE" : "description DE",
"sv-SE" : "description SV",
"en-GB" : "description EN",
"da-DK" : "description DA",
"en-US" : "description"
},
"custom" : {
"type" : {
"typeId" : "type",
"id" : "348d3f9f-f82a-4cb2-ad7b-042b7e263814"
},
"fields" : {
"type" : "category",
"imageUrl" : "https://www.bang-olufsen.com/~/mediaV3/home/collection/collection-televisions/beovision-eclipse/1350/imgpicture31350retina-min.jpg"
}
},
"assets" : [ ],
"lastMessageSequenceNumber" : 2
},
{
"id" : "3b495228-a792-40de-9a90-988ba4d71779",
"key" : "st1",
"version" : 6,
"name" : {
"en-GB" : "Stories",
"da-DK" : "Historier",
"sv-SE" : "Berättelser",
"de-DE" : "Geschichten"
},
"slug" : {
"en-GB" : "stories",
"da-DK" : "historier",
"sv-SE" : "berttelser",
"de-DE" : "geschichten"
},
"description" : {
"en-GB" : "Stories",
"da-DK" : "Stories",
"sv-SE" : "Stories",
"de-DE" : "Stories"
},
"ancestors" : [ ],
"orderHint" : "0.0000153371021372851360170555",
"createdAt" : "2018-10-03T10:03:01.668Z",
"lastModifiedAt" : "2018-10-03T10:39:26.073Z",
"externalId" : "5",
"metaTitle" : {
"en-GB" : "Stories",
"da-DK" : "Historier",
"sv-SE" : "Berättelser",
"de-DE" : "Geschichten"
},
"metaDescription" : {
"en-GB" : "Stories",
"da-DK" : "Stories",
"sv-SE" : "Stories",
"de-DE" : "Stories"
},
"custom" : {
"type" : {
"typeId" : "type",
"id" : "348d3f9f-f82a-4cb2-ad7b-042b7e263814"
},
"fields" : {
"type" : "stories",
"imageUrl" : "https://www.bang-olufsen.com/~/mediaV3/home/main-menu/stories/stories-768.jpg"
}
},
"assets" : [ ],
"lastMessageSequenceNumber" : 1
}
]
}

==============================script===========================================================


import groovy.json.JsonSlurper

def response =context.expand('${SearchAllCategory#response}')
log.info response

def slurper=new JsonSlurper()
def json=slurper.parseText response
//def ActualResultForEmail=$.person_list[?(@.tax-category=='84b37207-4b3e-4227-92fa-a7f849816027')].key

def actualCount=json.count
def categoycount=actualCount.toString()
log.info(categoycount)
//int i=0;
//def categoryNameID=json.results.name.de[i]
//int i=0;
//log.info(categoryNameID)
//def categoryID=json.results.id[i]
//log.info(categoryID)
//def expectedLoginStatus = context.expand( '${StartLoop#ExpectedStatus}' )
//def expectedStatusCode = context.expand( '${DataSource#ExpectedStatusCode}' )

//def expectedResponse = context.expand('' )
//log.info expectedStatusCode
//def categoryName = context.expand( '${AllCategory#CategoryName}' )
//log.info categoryName


//def headers = context.testCase.getTestStepByName("ProductSearch").testRequest.response.responseHeaders["#status#"]

//def ActualResponsestatus=headers.toString()
//log.info ActualResponsestatus
//def actualName=json.results.key[0].name
//ProductName
if(categoycount.equals("4")){
for(int i=0;i<3;i++)
{

def categoryIDResponse=json.results.id[i]
log.info(categoryIDResponse)
def ExpctedcategoryID = context.expand( '${AllCategory#CategoryID}')
log.info "---"+ExpctedcategoryID
def categoryName=json.results.name[i].en
log.info(categoryName)
def ExpectedcategoryName = context.expand( '${AllCategory#CategoryName}' )

//log.info ExpectedcategoryName
if(categoryIDResponse.equals(ExpctedcategoryID)){
if(categoryName.equals(ExpectedcategoryName)){
context.testCase.setPropertyValue("result","Pass Category Name matched "+ExpectedcategoryName)
}}
else{
context.testCase.setPropertyValue("result","Fail - expected Category - "+ExpectedcategoryName+" not same in response it is--"+categoryName )
//assert actualName == productName
}

}}

S

Instructor

Support Team Reply on 16/10/2018

Hi Deepak,

I am not able to understand your Query, Can please elaborate little more.

D
deepakrai.cse@gmail.com Reply on 17/10/2018

i blv everything is very clear my query  in first post let me reframe again-
how you will validate all the all the category name in response exist or not ,i have put all the expected name of category in the excel
when i am doing it is validating only one name the problem is that the iteration is not happening proper from excel, so it is considering only one name and comparing from exel

A
Abhinav Kaushik Reply on 17/10/2018

Deepak Please share your excel sheet too.

A
Abhinav Kaushik Reply on 17/10/2018

Okay Got it, The one you attached in your orignal post.

S

Instructor

Support Team Reply on 17/10/2018

Deepak please share the xlsx reading code, The script that you have attached dosn't include that. Please share the complete script. 

D
deepakrai.cse@gmail.com Reply on 18/10/2018

Okay i am sending you whole project

D
deepakrai.cse@gmail.com Reply on 24/10/2018

Any update it has been pending very long time is their any ETA for it ??

S

Instructor

Support Team Reply on 24/10/2018

Deepak can we have  skype session