robotframework做介面測試 to json 關鍵字使用
最近開始接觸robotframework做介面測試,由於自己摸索很多地方不太懂,特別是關於json格式轉化,現在做下整理。
在Python語言中,json資料與dict字典以及物件之間的轉化,是必不可少的操作。首先先做下概念介紹,因為是做測試之前對編碼瞭解較少,所以想要系統學習,一些基礎理論還得學習下。
JSON 語法 是 JavaScript 物件表示法語法的子集。
資料在名稱/值對中 kye:value (在雙引號中),後面寫一個冒號,然後是值: “firstName” : “John”
資料由逗號分隔 ,
花括號儲存物件 {}
方括號儲存陣列 []
物件可以包含多個名稱/值對:
{ “firstName”:“John” , “lastName”:“Doe” }
陣列可包含多個物件:
{
“employees”: [
{ “firstName”:“John” , “lastName”:“Doe” },
{ “firstName”:“Anna” , “lastName”:“Smith” },
{ “firstName”:“Peter” , “lastName”:“Jones” }
]
}
介面測試處理最多的就是json格式的資料
示例:
{
“id”: “1496654252”,
“code”: 0,
“msg”: “ok”,
“data”: {
"tag_list": [
{
“game_id”: “28”,
“game_name”: “王者榮耀”
},
{
“game_id”: “29”,
“game_name”: “鎮魔曲”
}
]
}
}
做介面測試依賴的一些類庫:
其中json解析會涉及如下幾個庫:
1、RequestsLibrary,安裝命令:pip install requests
2、HttpLibrary,安裝命令:pip install robotframework-httplibrary
3、HttpLibrary.HTTP,這個庫是在HttpLibrary中,HTTP是HttpLibrary的一個class
4、json,安裝命令:pip install jsonpatch
5、Collections,這個庫是python自帶的,直接引入即
取json值兩種情況:
1. 取json值:使用get json Value 關鍵字
{
“id”: “1496654252”,
“code”: 0,
“msg”: “ok”
}
通過單獨/xx/xx/xx這樣一層一層的去解析當然也可以取陣列中物件
但是這樣查出來的結果是個字串,是帶有引號的
如果想去掉雙引號,需要將json字串轉成字典物件。
2. 取json中用中括號的部分[]
需要把json的object格式轉成python的Dictionary,
幾種方法:
(1)RequestsLibrary中的to json關鍵字
(2)HttpLibrary.HTTP中的parse json關鍵字
(3)json中的loads關鍵字
另外說下: 無錫人流費用 http://www.xasgfk120.com/
loads():將json資料轉化成dict資料
dumps():將dict資料轉化成json資料
結果:字典格式
注意返回結果中:
pretty_print=false 預設是false,將Content 從Json轉換為字典型別,如果定義為true,將Content從字典型別轉換為Json
'game_id’變成了u’game_id’是因為發生了型別轉換,str會轉換成unicode
json.loads()用於將str型別的資料轉成dict。
可以參考:import json
name_emb = {‘a’:‘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’: ‘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關鍵字,此關鍵字來源與Collections庫;可以看到Get From Dictionary後面跟著兩個引數,分別是json轉成的Dictionary,取第一個物件內的值,從0下標開始
第一個引數${var1todict[0]}是指上一步json轉成的dictionary,注意要有下標,從0開始:[0];第二個引數是我們要取的key。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2655970/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 1688關鍵字搜尋介面測試
- robotframework appiumLibrary新增自定義關鍵字FrameworkAPP
- 介面自動化測試 - RobotFramework RESTinstanceFrameworkREST
- TestComplete使用關鍵字測試的資料驅動測試(三)
- 自動化測試 RobotFramework-ride使用相關總結FrameworkIDE
- 關鍵字WebElement 驅動測試Web
- 使用 testng 做介面自動化測試
- 介面測試學習之jsonJSON
- 介面測試學習之 jsonJSON
- 使用EOLINKER做介面測試最佳路徑(上)
- JMeter 做介面加密測試JMeter加密
- 介面測試怎麼做
- 1688關鍵字搜尋介面
- Python+資料庫測試常用關鍵字Python資料庫
- 使用 Synchronized 關鍵字synchronized
- 為什麼要做介面測試?可做介面測試的軟體測試公司分享
- 介面測試之 json 中的 key 獲取JSON
- 介面測試之json中的key獲取JSON
- 黑羽壓測 做 API介面功能測試API
- 使用Postman工具做介面測試(五)——生成隨機引數Postman隨機
- DM 關鍵字、遮蔽關鍵字
- 介面測試如何在 json 中引用 mock 變數JSONMock變數
- 介面測試如何在json中引用mock變數JSONMock變數
- 使用多個鍵做模型關聯模型
- Java™ 教程(使用super關鍵字)Java
- 敏捷測試關鍵成功因素敏捷測試
- 介面測試工具和使用
- let關鍵字和const關鍵字
- final關鍵字和static關鍵字
- 軟體介面測試有什麼作用?可做介面測試的外包公司安利
- 亞馬遜平臺使用API介面透過關鍵字搜尋商品亞馬遜API
- 如何用Postman做介面自動化測試Postman
- 為什麼要做介面測試?怎麼做?
- [原譯]實現IEnumerable介面&理解yield關鍵字
- 自動化測試 RobotFramework自定義靜態測試類庫總結Framework
- 在Java中this關鍵字的使用Java
- 1_static關鍵字的使用
- mybatis exists 中使用代替in關鍵字MyBatis