2

Katalon 测试完成运行后,我一直在尝试更新我们的测试管理 API。

我们在 JIRA 中使用 Adaptavist 测试管理。顺便说一下,我并不想更新 Katalon JIRA 插件。

对于 Adaptavist,API 调用需要是一个 POST 并且具有项目的正文消息,例如示例 {"projectKey": "FVS", "testCaseKey": "FVS-T1", "status": "Pass", " environment": "DEV"} 我最终会酌情用 Katalon 测试结果变量替换这些项目。

我在处理身份验证设置的对象存储库中创建了一个服务调用,如果我在编辑器中使用这些示例值测试请求,这可以正常工作。

当我在测试用例本身中添加脚本时,我很难让它工作,更不用说用实际值替换变量了。

我目前有这个:

//run test
WebUI.openBrowser('')

WebUI.navigateToUrl(GlobalVariable.MainURL)

WebUI.verifyElementClickable(findTestObject('img_img-responsive_1'))

WebUI.verifyElementClickable(findTestObject('img_img-responsive_2'))

WebUI.verifyElementClickable(findTestObject('img_img-responsive_3'))

WebUI.closeBrowser()

//update JIRA
RequestObject getJIRAUpdateObject = (RequestObject)findTestObject('Web Service 
Calls/Update JIRA')

String vsRequestBody = '{"projectKey": "FVS",  "testCaseKey": "FVS-T1",  
"status": "Pass", "environment": "DEV"}';

body = getJIRAUpdateObject.setHttpBody(vsRequestBody)

WS.sendRequest(getJIRAUpdateObject)

我还有以下额外的进口

import com.kms.katalon.core.testobject.ResponseObject
import com.kms.katalon.core.testobject.RequestObject

现在在脚本编辑器中,我被告知 setHttpBody 现在在 Katalon 版本 5.4+(我使用的是 5.4.1)中已贬值,我应该改用setBodyContent(HttpBodyContent),但是当我查看 API 文档时,我不能找出我应该如何使用它的语法。

有谁知道我应该如何更改代码,或者有我需要如何更改上述代码以使用这种新方法的示例?

任何帮助深表感谢。

4

1 回答 1

3

正如 Katalon 论坛上的回答:

在您的情况下,正文内容是文本正文,那么合适的实现应该是:

import com.kms.katalon.core.testobject.impl.HttpTextBodyContent //for text in body
import com.kms.katalon.core.testobject.impl.HttpFileBodyContent //for file in body
import com.kms.katalon.core.testobject.impl.HttpFormDataBodyContent //for form data body
import com.kms.katalon.core.testobject.impl.HttpUrlEncodedBodyContent //for URL encoded text body

setBodyContent(new HttpTextBodyContent(your_text))

(用于 HttpBodyContent 实现的 API 文档。)

于 2018-12-05T12:37:36.530 回答