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

问题描述 投票:1回答:2

我正在使用Katalon Studio并使用它来发送API请求。该请求基本上是返回我想在HTTP标头中使用的信息。我可以使用Groovy或Java来提取这个,但不知道我该怎么做。

我已经尝试过qazxsw poi以获得游戏代码,但它不起作用。

这是我使用的代码

create_game_response.getHeadewrFields(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)

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

java groovy katalon-studio
2个回答
6
投票

{GameCode=[1jwoz2qy0js], Transfer-Encoding=[chunked], null=[HTTP/1.1 201 Created]} 返回标题的Map,其中每个标题都是List。而不是将其转换为String并尝试解析它,只需获取所需的字段:

getHeaderFields()

然后选择第一个,如果有的话:

Map headers = create_game_response.getHeaderFields()

List gameCodes = headers["GameCode"]

0
投票

下面的Groovy代码:

assert gamesCodes[0] == "1jwoz2qy0js"

输出:

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)
© www.soinside.com 2019 - 2024. All rights reserved.