如何解决Groovy-将两个json值int,String从REST响应主体保存到GlobalVariable
我们引入了一项功能,该功能要求某些特定于用户的API请求包括一个新的自定义HTTP标头,我们将其称为X-UserToken
。触发POST /create/user
请求时,将创建一个新用户,并且请求正文返回一个userId
和一个userToken
-然后需要将userToken
设置为此用户特定的所有请求的X-UserToken
HTTP标头的值。 (请参见下文)
{
"data": {
"userId": 10023348,"userToken": "SampleTokenString.abcd.123.efg.sampleTokenString","messages": [],"questions": [],"verificationStatus": "success"
},"errors": [],"requestId": "abc-123-xyz","status": 200
}
在进行此更改之前,我已成功将userId
int保存为全局变量,并将其传递到同一自定义关键字脚本中的所有后续自定义Web服务关键字中。这很棒。但是现在,我需要同时保存int userId
请求中的String userToken
和create/user
并将int userId
作为请求正文参数传递给后续请求,并传递{{1 }}作为HTTP标头变量。我遇到的问题是,我似乎只能保存一个或另一个,而不能全部保存。
这是保存String userToken
jsonResponse值的工作代码,但是我不知道如何保存userId
和userId
。 / p>
@关键字文件:
userToken
Katalon测试用例脚本步骤:
def createUser(String firstName,String lastName,String birthDate) {
def response = WS.sendRequestAndVerify(findTestObject("Postman/User/create",["firstName": firstName,"lastName": lastName,"birthDate": birthDate]))
def jsonResponse = jsonSlurper.parseText(response.getResponseText())
return jsonResponse.data.userId
return jsonResponse.data.customerToken
}
当我尝试同时将两个测试用例脚本都更新为包含int userId = CustomKeywords.'user_Lifecycle_API.API_userFlow.createUser'(
firstName,lastName,birthDate)
时,出现错误。我已经尝试了所有可能想到的方法,但是似乎没有任何效果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。