I am unable to POST the request for the API. Any thoughts, how can this be solved please ?
Here is the script -
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 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.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 internal.GlobalVariable as GlobalVariable
import com.kms.katalon.core.testcase.TestCase
import com.kms.katalon.core.testobject.TestObject
“Send the POST Request”
response = WS.sendRequest(findTestObject(‘Object Repository/POST’, [(‘url’) : url]))
“Capture the response code and verify”
println response.getResponseText()
println response.getHeaderFields()
println response.getResponseBodySize()
println response.getStatusCode()
WS.verifyResponseStatusCode(response, 200)
WS.verifyElementPropertyValue(response, “status”, 200)
WS.verifyElementPropertyValue(response, “url”, “google.com”)
WS.verifyElementPropertyValue(response, ‘queries.getinfo.cats[0].catid’, 50)
Here is the error -
2019-01-22 14:20:41.379 INFO mc.k.katalon.core.main.TestCaseExecutor --------------------
2019-01-22 14:20:41.385 INFO mc.k.katalon.core.main.TestCaseExecutor START Test Cases/BCTI/UrlGetInfoModified
2019-01-22 14:20:42.603 INFO mc.k.katalon.core.main.TestCaseExecutor (Default) url = google.com
2019-01-22 14:20:45.333 DEBUG mtestcase.UrlGetInfoModified response = sendRequest(findTestObject(“Object Repository/POST”, [“url”:url]))
2019-01-22 14:20:49.665 DEBUG mtestcase.UrlGetInfoModified 2: println(response.getResponseText())
{
“status”: 403,
“status_description”: “InvalidRequest”,
“error_code”: 1007,
“error_code_description”: “InvalidRequestFormat”,
“errormsg”: “ISIS.InvalidRequestException: Unexpected character encountered while parsing value: g. Path ‘urls’, line 1, position 110.
—> Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: g. Path ‘urls’, line 1, position 110.\r\n
at Newtonsoft.Json.JsonTextReader.ParseValue()\r\n
at Newtonsoft.Json.JsonTextReader.ReadInternal()\r\n
at Newtonsoft.Json.JsonTextReader.Read()\r\n
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, JsonContract contract, Boolean hasConverter)\r\n
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)\r\n
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)\r\n
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)\r\n
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)\r\n
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)\r\n
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)\r\n
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)\r\n
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)\r\n
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)\r\n
at Newtonsoft.Json.JsonSerializer.Deserialize[T](JsonReader reader)\r\n
at ISIS.ApiRequest.ParseJsonRequest(String strVersion, Noun noun, String strJson) in C:\Users\hho\Works\WR_Projects\ISIS\Core\ApiRequestProcessing\ApiRequest.cs:line 1329\r\n
— End of inner exception stack trace —\r\n
at ISIS.ApiRequest.ParseJsonRequest(String strVersion, Noun noun, String strJson) in C:\Users\hho\Works\WR_Projects\ISIS\Core\ApiRequestProcessing\ApiRequest.cs:line 1430\r\n
at ISIS.ApiRequest.CreateRequest(String strVersion, Noun noun, String strRequestBody, String clientIp) in C:\Users\hho\Works\WR_Projects\ISIS\Core\ApiRequestProcessing\ApiRequest.cs:line 98\r\n
at ISIS.ApiHandler.d__0.MoveNext() in C:\Users\hho\Works\WR_Projects\ISIS\Core\RestApi\ApiHandler.cs:line 85”
}