Web Services Builder in Katalon Studio
RestRequestObjectBuilder class provides functions to create a RESTful object easily and quickly in scripting view. You can find details regarding to API docs specifications here: [Java] Class RestRequestObjectBuilder.
Type | Name and description |
---|---|
RequestObject | build() |
RestRequestObjectBuilder | withFileBodyContent(String filePath) Specify the binary body content |
RestRequestObjectBuilder | withHttpHeaders(List<TestObjectProperty> httpHeaderProperties) Specify HTTP headers for the request object |
RestRequestObjectBuilder | withMultipartFormDataBodyContent(List<FormDataBodyParameter> parameters) Specify the body content for multipart/form-data type, default charset UTF-8 |
RestRequestObjectBuilder | withRequestAuthorization(RequestAuthorization requestAuthorization) Specify the authorization for the request object |
RestRequestObjectBuilder | withRestParameters(List<TestObjectProperty> restParameters) Specify the REST parameters for the request object |
RestRequestObjectBuilder | withRestRequestMethod(String requestMethod) Specify method for the request object |
RestRequestObjectBuilder | withRestUrl(String url) |
RestRequestObjectBuilder | withTextBodyContent(String text) Specify the text body content, default charset UTF-8 |
RestRequestObjectBuilder | withTextBodyContent(String text, String charset) Specify the text body content |
RestRequestObjectBuilder | withUrlEncodedBodyContent(List<UrlEncodedBodyParameter> parameters) Specify the body content that composes of a list of url-encoded pairs, default charset UTF-8 |
RestRequestObjectBuilder | withUrlEncodedBodyContent(List<UrlEncodedBodyParameter> parameters, String charset) Specify the body content that composes of a list of url-encoded pairs |
Examples regard how to use them:
- Create a GET RESTful request
import com.kms.katalon.core.testobject.ConditionType as ConditionType import com.kms.katalon.core.testobject.RestRequestObjectBuilder import com.kms.katalon.core.testobject.TestObjectProperty as TestObjectProperty import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS 'Create a new GET object using builder' def builder = new RestRequestObjectBuilder() def requestObject = builder .withRestRequestMethod("GET") .withRestUrl("http://jsonplaceholder.typicode.com/comments"){"\n"}{" "}.withRestParameters([ new TestObjectProperty("postId", ConditionType.EQUALS, "1"), new TestObjectProperty("id", ConditionType.EQUALS, "1") ]) .withHttpHeaders([ new TestObjectProperty("Content-Type", ConditionType.EQUALS, "application/json") ]) .build() 'Send a request' def response = WS.sendRequest(requestObject) 'Verify if comment's email after sending request is correct or not' WS.verifyElementPropertyValue(response, '[0].email', 'Eliseo@gardner.biz')
Create a POST RESTful request
import com.kms.katalon.core.testobject.ConditionType as ConditionType import com.kms.katalon.core.testobject.RestRequestObjectBuilder import com.kms.katalon.core.testobject.TestObjectProperty as TestObjectProperty import com.kms.katalon.core.testobject.UrlEncodedBodyParameter import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS def builder = new RestRequestObjectBuilder() 'Create a new POST object using builder' def requestObject = builder .withRestRequestMethod("POST") .withRestUrl("https://sample-web-service-aut.herokuapp.com/api/users/urlencoded"){"\n"}{" "}.withHttpHeaders([ new TestObjectProperty("Content-Type", ConditionType.EQUALS, "application/x-www-form-urlencoded") ]) .withUrlEncodedBodyContent([ new UrlEncodedBodyParameter("username", "myUsername"), new UrlEncodedBodyParameter("password", "myPassword"), new UrlEncodedBodyParameter("gender", "MALE"), new UrlEncodedBodyParameter("age", "20"), new UrlEncodedBodyParameter("avatar", "AAA"), ]) .build() def response = WS.sendRequest(requestObject) assert response.getStatusCode() == 200
- Send request with NTLM authorization
import com.kms.katalon.core.testobject.RequestObject import com.kms.katalon.core.testobject.ResponseObject import com.kms.katalon.core.testobject.RestRequestObjectBuilder import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS import com.kms.katalon.core.testobject.authorization.NTLMAuthorization NTLMAuthorization ntlm = new NTLMAuthorization("your_username", "your_password", "", "") RequestObject ro2 = new RestRequestObjectBuilder() .withRestUrl("your_URL") .withRequestAuthorization(ntlm) .withRestRequestMethod("GET") .build() ResponseObject respObj2 = WS.sendRequest(ro2)