从返回的字符串中提取数据

时间:2019-02-15 17:09:17

标签: java groovy katalon-studio

我正在使用Katalon Studio并使用它发送API请求。该请求基本上是返回我要在HTTP标头中使用的信息。我可以使用Groovy或Java来提取此内容,但不确定如何做到这一点。

我已经尝试create_game_response.getHeadewrFields(GameCode)来获取GameCode,但是它不起作用。

这是我使用的代码

WS.sendRequest(findTestObject('UserRestService/Create Game'))
WS.verifyResponseStatusCode(create_game_response, 201)

def header_text = create_game_response.getHeaderFields()
println(header_text)

def game_code = create_game_response.getHeaderFields();

String game_code_list = game_code.toString()

println(game_code_list)

这是响应:

{GameCode=[1jwoz2qy0js], Transfer-Encoding=[chunked], null=[HTTP/1.1 201 Created]}

我正在尝试从游戏代码中提取“ 1jwoz2qy0js”并将其用作字符串,我该怎么做?

2 个答案:

答案 0 :(得分:6)

getHeaderFields()返回标题的映射,其中每个标题都是一个列表。无需将其转换为String并尝试对其进行解析,只需获取所需的字段即可:

if file in folder

然后选择第一个(如果已存在)

files_list

答案 1 :(得分:0)

下面的代码:

str = '{GameCode=[1jwoz2qy0js], Transfer-Encoding=[chunked], null=[HTTP/1.1 201 Created]}'​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
left_idx = str.indexOf('[') + 1
right_idx = str.indexOf(']')
print str.substring(left_idx,right_idx)

输出:

1jwoz2qy0js