這篇文章給大家分享的是有關(guān)robotframework做接口測(cè)試 to json關(guān)鍵字怎么用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)主營(yíng)蕉城網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都APP應(yīng)用開(kāi)發(fā),蕉城h5成都小程序開(kāi)發(fā)搭建,蕉城網(wǎng)站營(yíng)銷推廣歡迎蕉城等地區(qū)企業(yè)咨詢在Python語(yǔ)言中,json數(shù)據(jù)與dict字典以及對(duì)象之間的轉(zhuǎn)化,是必不可少的操作。首先先做下概念介紹,因?yàn)槭亲鰷y(cè)試之前對(duì)編碼了解較少,所以想要系統(tǒng)學(xué)習(xí),一些基礎(chǔ)理論還得學(xué)習(xí)下。
JSON 語(yǔ)法 是 JavaScript 對(duì)象表示法語(yǔ)法的子集。
數(shù)據(jù)在名稱/值對(duì)中 kye:value (在雙引號(hào)中),后面寫(xiě)一個(gè)冒號(hào),然后是值: “firstName” : “John”
數(shù)據(jù)由逗號(hào)分隔 ,
花括號(hào)保存對(duì)象 {}
方括號(hào)保存數(shù)組 []
對(duì)象可以包含多個(gè)名稱/值對(duì):
{ “firstName”:“John” , “l(fā)astName”:“Doe” }
數(shù)組可包含多個(gè)對(duì)象:
{
“employees”: [
{ “firstName”:“John” , “l(fā)astName”:“Doe” },
{ “firstName”:“Anna” , “l(fā)astName”:“Smith” },
{ “firstName”:“Peter” , “l(fā)astName”:“Jones” }
]
}
接口測(cè)試處理最多的就是json格式的數(shù)據(jù)
示例:
{
“id”: “1496654252”,
“code”: 0,
“msg”: “ok”,
“data”: {
"tag_list": [
{
“game_id”: “28”,
“game_name”: “王者榮耀”
},
{
“game_id”: “29”,
“game_name”: “鎮(zhèn)魔曲”
}
]
}
}
做接口測(cè)試依賴的一些類庫(kù):
其中json解析會(huì)涉及如下幾個(gè)庫(kù):
1、RequestsLibrary,安裝命令:pip install requests
2、HttpLibrary,安裝命令:pip install robotframework-httplibrary
3、HttpLibrary.HTTP,這個(gè)庫(kù)是在HttpLibrary中,HTTP是HttpLibrary的一個(gè)class
4、json,安裝命令:pip install jsonpatch
5、Collections,這個(gè)庫(kù)是python自帶的,直接引入即
取json值兩種情況:
1. 取json值:使用get json Value 關(guān)鍵字
{
“id”: “1496654252”,
“code”: 0,
“msg”: “ok”
}
通過(guò)單獨(dú)/xx/xx/xx這樣一層一層的去解析當(dāng)然也可以取數(shù)組中對(duì)象
但是這樣查出來(lái)的結(jié)果是個(gè)字符串,是帶有引號(hào)的
如果想去掉雙引號(hào),需要將json字符串轉(zhuǎn)成字典對(duì)象。
2. 取json中用中括號(hào)的部分[]
需要把json的object格式轉(zhuǎn)成python的Dictionary,
幾種方法:
(1)RequestsLibrary中的to json關(guān)鍵字
(2)HttpLibrary.HTTP中的parse json關(guān)鍵字
(3)json中的loads關(guān)鍵字
另外說(shuō)下:無(wú)錫人流費(fèi)用 http://www.xasgfk120.com/
loads():將json數(shù)據(jù)轉(zhuǎn)化成dict數(shù)據(jù)
dumps():將dict數(shù)據(jù)轉(zhuǎn)化成json數(shù)據(jù)
結(jié)果:字典格式
注意返回結(jié)果中:
pretty_print=false 默認(rèn)是false,將Content 從Json轉(zhuǎn)換為字典類型,如果定義為true,將Content從字典類型轉(zhuǎn)換為Json
'game_id’變成了u’game_id’是因?yàn)榘l(fā)生了類型轉(zhuǎn)換,str會(huì)轉(zhuǎn)換成unicode
json.loads()用于將str類型的數(shù)據(jù)轉(zhuǎn)成dict。
可以參考:import json
name_emb = {‘a(chǎn)’:‘1111’,‘b’:‘2222’,‘c’:‘3333’,‘d’:‘4444’}
jsDumps = json.dumps(name_emb)
jsLoads = json.loads(jsDumps)
print(name_emb)
print(jsDumps)
print(jsLoads)
print(type(name_emb))
print(type(jsDumps))
print(type(jsLoads))
{‘a(chǎn)’: ‘1111’, ‘c’: ‘3333’, ‘b’: ‘2222’, ‘d’: ‘4444’}
{“a”: “1111”, “c”: “3333”, “b”: “2222”, “d”: “4444”}
{u’a’: u’1111’, u’c’: u’3333’, u’b’: u’2222’, u’d’: u’4444’}
取值
使用Get From Dictionary關(guān)鍵字,此關(guān)鍵字來(lái)源與Collections庫(kù);可以看到Get From Dictionary后面跟著兩個(gè)參數(shù),分別是json轉(zhuǎn)成的Dictionary,取第一個(gè)對(duì)象內(nèi)的值,從0下標(biāo)開(kāi)始
第一個(gè)參數(shù)${var1todict[0]}是指上一步j(luò)son轉(zhuǎn)成的dictionary,注意要有下標(biāo),從0開(kāi)始:[0];第二個(gè)參數(shù)是我們要取的key。
感謝各位的閱讀!關(guān)于“robotframework做接口測(cè)試 to json關(guān)鍵字怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!