The first Request in the result is not getting picked where as the last request status is getting picked up

Before hitting that Ask the Community button, make sure to:

  • Search for similar topics to make sure it hasn’t been asked by another member;
  • Write your topic title as a question (if possible) - this help with search
  • Give as much context as possible (screenshots, videos, links, code blocks, etc.) - this help the community help you
  • Use the katalon-studio tag followed by other appropriate tags for better visibility and searchability.
  • Make sure to remove this pre-filled content before posting. :smiley:

/*
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testng.keyword.TestNGBuiltinKeywords as TestNGKW
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys
import groovy.json.JsonSlurper

def response= WS.sendRequest(findTestObject(‘ITC_04-MultipleFileUpload and Report Download/4. Get ITC_04 Details’, [(‘URL’) : GlobalVariable.baseUrl
, (‘globaltoken’) : GlobalVariable.tokenid, (‘requestId’) : GlobalVariable.globalRequestID]))

*/

import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.testobject.impl.HttpFileBodyContent as HttpFileBodyContent
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import com.kms.katalon.core.testdata.TestDataFactory as TestDataFactory
import com.kms.katalon.core.testobject.RequestObject as RequestObject
import com.kms.katalon.core.testobject.ResponseObject as ResponseObject
import internal.GlobalVariable as GlobalVariable
import com.kms.katalon.core.testdata.InternalData as InternalData
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows
import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import groovy.json.JsonSlurper as JsonSlurper
import com.kms.katalon.core.webservice.verification.WSResponseManager as WSResponseManager
import com.kms.katalon.core.reporting.ReportUtil as ReportUtil
import java.nio.file.Files as Files
import java.nio.file.Paths as Paths
import groovy.json.JsonOutput as JsonOutput
import com.kms.katalon.core.webservice.verification.*
import com.kms.katalon.core.testobject.RestRequestObjectBuilder as RestRequestObjectBuilder
//import com.kms.katalon.core.testobject.HttpMethodProperty
import com.kms.katalon.core.testobject.impl.HttpTextBodyContent as HttpTextBodyContent
//import com.kms.katalon.core.testobject.impl.HttpTextBodyContentBuilder
import groovy.json.JsonBuilder as JsonBuilder
import com.kms.katalon.core.testobject.TestObjectProperty as TestObjectProperty
import com.kms.katalon.core.testobject.ObjectRepository as ObjectRepository
import org.apache.poi.ss.usermodel.*
import org.apache.poi.xssf.usermodel.XSSFWorkbook
import groovy.json.JsonSlurper
import java.io.FileOutputStream
import java.io.File

//def storedRequestIDs = GlobalVariable.requestIDsArray

def gen_det_gst_qt =
def gen_det_gst_yr =
def assetDataId =
def instanceStatus =

for (def requestID : GlobalVariable.requestIDsArray) {
GlobalVariable.globalRequestID = requestID

println('Global RequestID' + GlobalVariable.globalRequestID)

response = WS.sendRequest(findTestObject('ITC_04-MultipleFileUpload and Report Download/4. To Fetch the Business Keys'))

// Check if the response is null or empty
def slurper1 = new JsonSlurper()

def result1 = slurper1.parseText(response.getResponseText())
//def outPutJson= result1.toPrettyString();

//def outPutJson= JsonOutput.prettyPrint(result1)

println(result1)


//println(' Request response with request details ' + outPutJson)
for (int instanceIndex = 0; instanceIndex < result1?.response?.instances.size(); instanceIndex++) {
	
	
	//def instance = result1.response.instances[instanceIndex] // Access each instance directly
	//def instance = result1.response.instances.assetInstances[instanceIndex].instanceStatus
	//def instance = result1.response.instances.assetInstances[instanceIndex]
	//def requeststatus = instance.instanceStatus
	//def instanceId = instance.assetDataId
	
	def instance =  result1.response.instances.assetInstances[instanceIndex]
	def requeststatus = instance.instanceStatus
	def instanceId = instance.assetDataId

	def status =result1.response.instances.assetInstances[instanceIndex].instanceState
	
	
	GlobalVariable.assetDataId = instanceId
	GlobalVariable.instanceStatus = requeststatus
	
	println(' Request status is ' + requeststatus)
	println('InstanceId is '+ instanceId)
	println('..Global array Instance ID is: '+ GlobalVariable.assetDataId)
	println('..Global InstanceState is:'+GlobalVariable.instanceStatus)
	
	println('Current Status: '+ ' '+status)
	
	instanceStatus.add(status)
	
	
	if(requeststatus== 'Data Synchronization:Proceed') {
		
		//def quarter = instance.processViewAttributes.gen_det_gst_qt
		//def financialYear = instance.processViewAttributes.gen_det_gst_yr
		
			def quarter = result1.response.instances.assetInstances[instanceIndex].processViewAttributes.gen_det_gst_qt
			def financialYear =result1.response.instances.assetInstances[instanceIndex].processViewAttributes.gen_det_gst_yr
							//def legalName  = instance.processViewAttributes.legal_nm
			//def sezTaxpayer = instance.processViewAttributes.gen_sez_txp
			//def gstin = instance.processViewAttributes.gstin
			
			println('Response: ' + instance)
			println(' Request status is ' + requeststatus)
			
			println('InstanceId is '+ instanceId)

			println('..Quarter from the response: ' + quarter)
			
			println('..Financial Year from the response: ' + financialYear)
			
			
			gen_det_gst_qt.add(quarter)
			gen_det_gst_yr.add(financialYear)
					}
	else {
		println(' Details not found for the provided request id ' + requestID)}
		
		GlobalVariable.gen_det_gst_qt = gen_det_gst_qt
		
		GlobalVariable.gen_det_gst_yr = gen_det_gst_yr
		}
		
println('..Global array quarter is: ' + GlobalVariable.gen_det_gst_qt)

println('..Global array year is: ' + GlobalVariable.gen_det_gst_yr)

println('..Global array status is: ' + GlobalVariable.instanceStatus)

	
println('END OF FETECHING THE STATUS OF THE REQUEST')
}
	

/*
def storedInstanceId = GlobalVariable.assetDataId
def storedquarter = GlobalVariable.gen_det_gst_qt
def storedYear = GlobalVariable.gen_det_gst_yr
def requeststatus = GlobalVariable.request_status
 */


def storedInstanceId = GlobalVariable.assetDataId.toString().replaceAll("\\[|\\]", "")
def storedquarter = GlobalVariable.gen_det_gst_qt.toString().replaceAll("\\[|\\]", "")
def storedYear = GlobalVariable.gen_det_gst_yr.toString().replaceAll("\\[|\\]", "")
def storedrequeststatus = GlobalVariable.request_status
def storedInstanceState = GlobalVariable.instanceStatus

GlobalVariable.storedquarter = storedquarter
GlobalVariable.storedYear = storedYear
GlobalVariable.assetDataId = storedInstanceId
GlobalVariable.instanceStatus = storedInstanceState


//println('storedquarter'+storedquarter+'storedYear'+storedYear+'storedInstanceState'+storedInstanceState)

please find the result in below snippet.

2 Likes

So, what is your question?

1 Like

How can we resolve your issues :laughing:

1 Like

is the question why first Request in the result is not getting picked ?

1 Like