Hi,
I am trying to check if an url is accessible or not in Katalon Studio V9.6 and for that i’m using the below method:
try {
status = getResponseStatus(url)
} catch(Exception ex) {
println('in catch')
}
String getResponseStatus(String url) {
String status = '???'
println("requesting on URL: " + url)
if (url != null && url.startsWith('http')) {
RequestObject req = new RequestObject('check if this url is reachable')
req.setServiceType('REST')
req.setRestUrl(url)
req.setRestRequestMethod('GET')
// Send the request and get the response
try {
ResponseObject res = WS.sendRequest(req)
status = res.getStatusCode() // '200' OK, '302' redirected, '403' etc
} catch (SendRequestException sre) {
println("send reques exception occured")
} catch (SocketException se) {
println("Socket Exception: Not able to send request to " + url)
} catch(Exception ex) {
println('Eception occured')
}
}
return status
}
I have implemented Error Handling try-catch block but still the exception is not caught and I am getting the below error message:
4-07-12 20:02:27.664 ERROR c.k.katalon.core.main.TestCaseExecutor - ❌ Test Cases/SampleTestCase FAILED.
Reason:
com.kms.katalon.core.exception.StepFailedException: Unable to send request (Root cause: com.kms.katalon.core.webservice.exception.SendRequestException: java.net.SocketException: Connection reset
at com.kms.katalon.core.webservice.common.HttpUtil.sendRequest(HttpUtil.java:172)
at com.kms.katalon.core.webservice.common.BasicRequestor.send(BasicRequestor.java:58)
at com.kms.katalon.core.webservice.helper.WebServiceCommonHelper.sendRequest(WebServiceCommonHelper.java:55)
at com.kms.katalon.core.webservice.keyword.builtin.SendRequestKeyword$_sendRequest_closure1.doCall(SendRequestKeyword.groovy:40)
at com.kms.katalon.core.webservice.keyword.builtin.SendRequestKeyword$_sendRequest_closure1.call(SendRequestKeyword.groovy)
at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:75)
at com.kms.katalon.core.webservice.keyword.builtin.SendRequestKeyword.sendRequest(SendRequestKeyword.groovy:38)
at com.kms.katalon.core.webservice.keyword.builtin.SendRequestKeyword.execute(SendRequestKeyword.groovy:33)
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
at com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords.sendRequest(WSBuiltInKeywords.groovy:41)
at SampleTestCase.getResponseStatus(SampleTestCase:65)
at SampleTestCase.run(SampleTestCase:46)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:448)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:439)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:418)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:410)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:285)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:137)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:128)
at TempTestCase1720794736803.run(TempTestCase1720794736803.groovy:25)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Caused by: java.net.SocketException: Connection reset
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at com.kms.katalon.core.webservice.common.HttpUtil.sendRequest(HttpUtil.java:144)
at com.kms.katalon.core.webservice.common.BasicRequestor.send(BasicRequestor.java:58)
at com.kms.katalon.core.webservice.helper.WebServiceCommonHelper.sendRequest(WebServiceCommonHelper.java:55)
at com.kms.katalon.core.webservice.keyword.builtin.SendRequestKeyword$_sendRequest_closure1.doCall(SendRequestKeyword.groovy:40)
at com.kms.katalon.core.webservice.keyword.builtin.SendRequestKeyword$_sendRequest_closure1.call(SendRequestKeyword.groovy)
at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:75)
at com.kms.katalon.core.webservice.keyword.builtin.SendRequestKeyword.sendRequest(SendRequestKeyword.groovy:38)
at com.kms.katalon.core.webservice.keyword.builtin.SendRequestKeyword.execute(SendRequestKeyword.groovy:33)
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74)
at com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords.sendRequest(WSBuiltInKeywords.groovy:41)
at Script1718961732884.getResponseStatus(Script1718961732884.groovy:65)
at Script1718961732884.run(Script1718961732884.groovy:46)
... 13 more
)
Pls help to resolve the issue.
