从返回的字符串中提取数据
Extract data from returned string
我正在使用 Katalon Studio 并用它发送 API 请求。该请求基本上是返回我想在 HTTP Header 中使用的信息。我可以使用 Groovy 或 Java 来提取它,但不确定我该怎么做。
我已经尝试 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)
这是回复:
{GameCode=[1jwoz2qy0js], Transfer-Encoding=[chunked], null=[HTTP/1.1 201 Created]}
我正在尝试从游戏代码中提取“1jwoz2qy0js”并将其用作字符串,我该怎么做?
Groovy 代码如下:
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
getHeaderFields()
returns header 的地图,其中每个 header 是一个列表。与其将其转换为字符串并尝试解析它,不如获取您想要的字段:
Map headers = create_game_response.getHeaderFields()
List gameCodes = headers["GameCode"]
然后 select 第一个,如果仅此而已:
assert gamesCodes[0] == "1jwoz2qy0js"
我正在使用 Katalon Studio 并用它发送 API 请求。该请求基本上是返回我想在 HTTP Header 中使用的信息。我可以使用 Groovy 或 Java 来提取它,但不确定我该怎么做。
我已经尝试 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)
这是回复:
{GameCode=[1jwoz2qy0js], Transfer-Encoding=[chunked], null=[HTTP/1.1 201 Created]}
我正在尝试从游戏代码中提取“1jwoz2qy0js”并将其用作字符串,我该怎么做?
Groovy 代码如下:
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
getHeaderFields()
returns header 的地图,其中每个 header 是一个列表。与其将其转换为字符串并尝试解析它,不如获取您想要的字段:
Map headers = create_game_response.getHeaderFields()
List gameCodes = headers["GameCode"]
然后 select 第一个,如果仅此而已:
assert gamesCodes[0] == "1jwoz2qy0js"