Hi guys.
I have a couple API tests where I should use dynamically changeable tokens X-Auth-S, X-Auth-U I’, using this code and in the final step code is 401:
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.testobject.TestObjectProperty
import com.kms.katalon.core.testobject.RequestObject
import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.testobject.ConditionType
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 com.kms.katalon.core.testobject.ResponseObject as ResponseObject
import groovy.json.JsonOutput as JsonOutput
import groovy.json.JsonSlurper as JsonSlurper
TestObject requestToLogin = findTestObject(‘Login positive’)
ResponseObject responseLogin = WS.sendRequest(requestToLogin)
WS.verifyNotEqual(null, responseLogin)
WS.verifyResponseStatusCode(responseLogin, 200)
RequestObject requestToCreateApps = findTestObject(‘Create new apps’)
ArrayList httpHeaders = new ArrayList()
Map headers = responseLogin.headerFields
String xAuthS = headers.get(‘X-Auth-S’).toString()
String xAuthU = headers.get(‘X-Auth-U’).toString()
requestToCreateApps.httpHeaderProperties.add(new TestObjectProperty(‘Accept’, ConditionType.EQUALS, ‘application/json’))
requestToCreateApps.httpHeaderProperties.add(new TestObjectProperty(‘Content-Type’, ConditionType.EQUALS, ‘application/json’))
requestToCreateApps.httpHeaderProperties.add(new TestObjectProperty(‘X-Auth-S’, ConditionType.EQUALS, xAuthS))
requestToCreateApps.httpHeaderProperties.add(new TestObjectProperty(‘X-Auth-U’, ConditionType.EQUALS, xAuthU))
ResponseObject responseObjectToCreateApps = WS.sendRequest(requestToCreateApps)
WS.verifyNotEqual(null, responseObjectToCreateApps)
WS.verifyResponseStatusCode(responseObjectToCreateApps, 200)