如何迭代到 json 对象并使用机器人框架获取其数组
How to iterate to json object and gets its array using robot framework
成功存入数组列表
我想迭代 Locationlist 并获取其国家/地区类型和 bikeList 自行车类型和文本。
{
"addedToList": {
"locationList": [
{
"countryType": "US"
"LineList": [
{
"Text": "thequickbrownfoxjumps over the lazy dog"
}
]
}
],
"bikeList": [
{
"BikeType": "road"
"LineList": [
{
"Text": "text"
}
]
}
]
},
"addedLine": "2"
}
使用JSON [https://goessner.net/articles/JsonPath/][查询选择器] $..locationList[?(@.countryType)].countryType
过滤所选对象下的所有国家/地区类型
如果想要纯robotframework,可以查看robotframework-jsonlibrary
用于访问您的 json 文件所在国家/地区的示例机器人案例:
*** Settings ***
Library JSONLibrary
Library Collections
*** Test Cases ***
Test For Json
${json_obj} = Load JSON From File example.json
${countries} = Get Value From Json ${json_obj} $..countryType
@{countries} = Convert To List ${countries}
FOR ${country} IN @{countries}
Log To Console ${country}
END
此外,如果您熟悉使用 python 扩展机器人的关键字,您也可以使用 python 编写自己的关键字。
您也可以在没有 JSONLibrary 的情况下执行此操作,只需通过 Evaluate
Keyword
使用 json.loads
*** Variables ***
${MY_JSON} {"addedToList":{"locationList":[{"countryType":"US","LineList":[{"Text":"thequickbrownfoxjumps over the lazy dog"}]}],"bikeList":[{"BikeType":"road","LineList":[{"Text":"text"}]}]},"addedLine":"2"}
*** Test Cases ***
Test For Json
${json} Evaluate json.loads('''${MY_JSON}''') json
FOR ${loc_list} IN @{json['addedToList']['locationList']}
Log countryType: ${loc_list["countryType"]} console=True
END
FOR ${bike_list} IN @{json['addedToList']['bikeList']}
Log BikeType: ${bike_list["BikeType"]} console=True
END
成功存入数组列表
我想迭代 Locationlist 并获取其国家/地区类型和 bikeList 自行车类型和文本。
{
"addedToList": {
"locationList": [
{
"countryType": "US"
"LineList": [
{
"Text": "thequickbrownfoxjumps over the lazy dog"
}
]
}
],
"bikeList": [
{
"BikeType": "road"
"LineList": [
{
"Text": "text"
}
]
}
]
},
"addedLine": "2"
}
使用JSON [https://goessner.net/articles/JsonPath/][查询选择器] $..locationList[?(@.countryType)].countryType
过滤所选对象下的所有国家/地区类型
如果想要纯robotframework,可以查看robotframework-jsonlibrary
用于访问您的 json 文件所在国家/地区的示例机器人案例:
*** Settings ***
Library JSONLibrary
Library Collections
*** Test Cases ***
Test For Json
${json_obj} = Load JSON From File example.json
${countries} = Get Value From Json ${json_obj} $..countryType
@{countries} = Convert To List ${countries}
FOR ${country} IN @{countries}
Log To Console ${country}
END
此外,如果您熟悉使用 python 扩展机器人的关键字,您也可以使用 python 编写自己的关键字。
您也可以在没有 JSONLibrary 的情况下执行此操作,只需通过 Evaluate
Keyword
*** Variables ***
${MY_JSON} {"addedToList":{"locationList":[{"countryType":"US","LineList":[{"Text":"thequickbrownfoxjumps over the lazy dog"}]}],"bikeList":[{"BikeType":"road","LineList":[{"Text":"text"}]}]},"addedLine":"2"}
*** Test Cases ***
Test For Json
${json} Evaluate json.loads('''${MY_JSON}''') json
FOR ${loc_list} IN @{json['addedToList']['locationList']}
Log countryType: ${loc_list["countryType"]} console=True
END
FOR ${bike_list} IN @{json['addedToList']['bikeList']}
Log BikeType: ${bike_list["BikeType"]} console=True
END