国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Python的接口自動化-JSON模塊的操作

這篇具有很好參考價值的文章主要介紹了基于Python的接口自動化-JSON模塊的操作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

引言

一、JSON是啥?

二、JSON的有效數(shù)據(jù)類型

三、Python JSON庫的使用

結(jié)語


引言

? ? ? ? 在使用Python進行接口自動化測試腳本時,一般都是腳本只寫接口測試邏輯實現(xiàn),而執(zhí)行腳本時需要的測試用例數(shù)據(jù)都是寫入excel、數(shù)據(jù)庫或者指定的配置文件中,腳本通過讀取這些測試數(shù)據(jù)來進行不同測試用例的執(zhí)行,這樣就做到了測試腳本和測試數(shù)據(jù)的分離,易于后續(xù)寫實腳本的維護,這部分后續(xù)接口自動化框架來介紹怎么實現(xiàn)腳本和數(shù)據(jù)的分離。

在python腳本構(gòu)建接口測試請求時,如發(fā)送put、post這樣的請求時,一般都是以JSON格式的進行請求體數(shù)據(jù)發(fā)送請求,我們編寫的接口測試數(shù)據(jù)一般都是參考接口文檔說明進行的,也就是編寫的接口測試數(shù)據(jù)的請求體一般都是JSON格式。

由于python數(shù)據(jù)類型與標準的JSON數(shù)據(jù)格式不一樣,因此在python腳本讀取數(shù)據(jù)進行接口測試前,需要將JSON數(shù)據(jù)轉(zhuǎn)換成python對象。

針對json數(shù)據(jù)交換,python語言封裝實現(xiàn)了相關(guān)的模塊:json,以下介紹python json模塊的主要操作和應(yīng)用。

一、JSON是啥?

JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,易于人閱讀和編寫。在現(xiàn)在的應(yīng)用程序軟件中前端和后端數(shù)據(jù)交互一般都是使用的JSON

二、JSON的有效數(shù)據(jù)類型

在 JSON 中,一般數(shù)據(jù)都是key-value對形式存在,數(shù)據(jù)使用花括號{}包含,value值必須是以下數(shù)據(jù)類型之一:

  • 字符串
  • 數(shù)字
  • 對象(JSON 對象)
  • 數(shù)組
  • 布爾
  • Null

JSON 的值不可以是以下數(shù)據(jù)類型之一:

  • 函數(shù)
  • 日期
  • undefined

有效JSON數(shù)據(jù)示例:

字符串:{ "name":"John" }
數(shù)字:{ "name":123 }
對象:{"employee":{ "name":"Bill Gates", "age":62, "city":"Seattle" }}
數(shù)組:{"employees":[ "Bill", "Steve", "David" ]}
布爾:{ "sale":true }
null:{ "middlename":null 
如果json比較復(fù)雜,可以上json在線解析網(wǎng)站:JSON在線 | JSON解析格式化—SO JSON在線工具,核驗json是否標準正確。

三、Python JSON庫的使用

使用 JSON 函數(shù)需要導(dǎo)入 json 庫:import json

打開Pycharm工具導(dǎo)入json庫后,模塊下封裝的方法如下:

基于Python的接口自動化-JSON模塊的操作

其主要封裝json.dumps()、json.loads()、json.dump()、json.load()

json.dumps():將 Python 對象編碼成 JSON 字符串

json.loads():將已編碼的 JSON 字符串解碼為 Python 對象

json.dump():將Python內(nèi)置類型序列化為json對象后寫入文件

json.load():將文件中讀取到的json形式的字符串轉(zhuǎn)化為python類型

python數(shù)據(jù)類型和json類型轉(zhuǎn)換關(guān)系表如下:

python數(shù)據(jù)轉(zhuǎn)成json類型:

基于Python的接口自動化-JSON模塊的操作

json類型轉(zhuǎn)成python數(shù)據(jù)類型:

基于Python的接口自動化-JSON模塊的操作

json.dumps()使用示例:

編輯如下代碼:

import json
data1 = (1,2,3) # 元組
data2 = {'張山':'25','王五':'30'} # 字典
data3 = [1,2,3] # 列表
print(json.dumps(data1))
print(json.dumps(data2))
print(json.dumps(data3))

運行結(jié)果如下:

[1, 2, 3]
{"\u5f20\u5c71": "25", "\u738b\u4e94": "30"}
[1, 2, 3]

運行后發(fā)現(xiàn)python對象都轉(zhuǎn)換成json類型了,其中元組和列表轉(zhuǎn)換成json的數(shù)組,字典轉(zhuǎn)換成帶雙引號的json格式,其中默認將字符串轉(zhuǎn)換成ascii碼,如果不想轉(zhuǎn)換成ascii碼,將上面代碼改成如下即可:

print(json.dumps(data2,ensure_ascii=False))

json.loads()使用示例:

編輯如下代碼:

import json
data1 = '{"name":"zhangshan","age":25}'
print(json.loads(data1))

  輸出如下:

{'name': 'zhangshan', 'age': 25}

json.dump()使用示例:

編輯如下代碼:

import json
 
data = {
    'name': 'wangwu',
    'liebiao': [1, 2, 3, 4],
    'yuanzu': (1, 2, 3)
}
with open('json_test.txt', 'w+') as f:
    json.dump(data,f)

  運行完成后會生成同路徑下生成一個json_test.txt的文件,文件內(nèi)容如下:

基于Python的接口自動化-JSON模塊的操作

?json.load()使用示例:

在上面生成的文件基礎(chǔ)上,讀取文件的內(nèi)容,代碼如下:

import json
 
data = {
    'name': 'wangwu',
    'liebiao': [1, 2, 3, 4],
    'yuanzu': (1, 2, 3)
}
with open('json_test.txt', 'w+') as f:
    json.dump(data,f)
 
with open('json_test.txt') as f:
    print(json.load(f))

  輸出如下:

{'yuanzu': [1, 2, 3], 'name': 'wangwu', 'liebiao': [1, 2, 3, 4]}

如上就是python json庫的相關(guān)方法的使用和應(yīng)用,后續(xù)有json數(shù)據(jù)和python類型交互轉(zhuǎn)換時就需要引入json庫,實現(xiàn)數(shù)據(jù)轉(zhuǎn)換。

結(jié)語

如果你覺得文章還不錯,請大家 點贊、分享、留言 下,因為這將是我持續(xù)輸出更多優(yōu)質(zhì)文章的最強動力!

如果有不明白的地方可以去看這個Python接口自動化測試實戰(zhàn)教程,還是講的蠻詳細的!

------------------------------

【留言:自動化測試,免費獲取教程】

從入門到精通【Python+接口自動化測試】實戰(zhàn)項目進階合集?。?span toymoban-style="hidden">文章來源地址http://www.zghlxwxcb.cn/news/detail-475066.html

到了這里,關(guān)于基于Python的接口自動化-JSON模塊的操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • (基于python)簡單實現(xiàn)接口自動化測試

    (基于python)簡單實現(xiàn)接口自動化測試

    本文從一個簡單的登錄接口測試入手,一步步調(diào)整優(yōu)化接口調(diào)用姿勢,然后簡單討論了一下接口測試框架的要點,最后介紹了一下我們目前正在使用的接口測試框架pithy。期望讀者可以通過本文對接口自動化測試有一個大致的了解。 為什么要做接口自動化測試? 在當前互聯(lián)網(wǎng)

    2024年02月08日
    瀏覽(17)
  • 簡單實現(xiàn)接口自動化測試(基于python)

    簡單實現(xiàn)接口自動化測試(基于python)

    本文從一個簡單的登錄接口測試入手,一步步調(diào)整優(yōu)化接口調(diào)用姿勢,然后簡單討論了一下接口測試框架的要點,最后介紹了一下我們目前正在使用的接口測試框架pithy。期望讀者可以通過本文對接口自動化測試有一個大致的了解。 為什么要做接口自動化測試? 在當前互聯(lián)網(wǎng)

    2024年02月13日
    瀏覽(23)
  • 基于Python 簡易實現(xiàn)接口測試自動化

    基于Python 簡易實現(xiàn)接口測試自動化

    目錄 實現(xiàn)思路 統(tǒng)籌腳本 請求封裝? 日志封裝 結(jié)果比對 結(jié)果郵件 用例獲取及數(shù)據(jù)格式化 請求url轉(zhuǎn)換 測試用例excel結(jié)構(gòu) 測試報告 郵件接收結(jié)果 資料獲取方法 使用excel管理用例用例信息,requests模塊發(fā)送http請求,實現(xiàn)了記錄日志,郵件發(fā)送測試報告的功能 目錄結(jié)構(gòu)如下: 下

    2024年02月13日
    瀏覽(19)
  • 基于Python簡單實現(xiàn)接口自動化測試(詳解)

    基于Python簡單實現(xiàn)接口自動化測試(詳解)

    本文從一個簡單的登錄接口測試入手,一步步調(diào)整優(yōu)化接口調(diào)用姿勢,然后簡單討論了一下接口測試框架的要點,最后介紹了一下我們目前正在使用的接口測試框架pithy。期望讀者可以通過本文對接口自動化測試有一個大致的了解。 為什么要做接口自動化測試? 在當前互聯(lián)網(wǎng)

    2024年01月20日
    瀏覽(23)
  • 簡單實現(xiàn)接口自動化測試(基于python+unittest)

    簡單實現(xiàn)接口自動化測試(基于python+unittest)

    本文通過從Postman獲取基本的接口測試Code簡單的接口測試入手,一步步調(diào)整優(yōu)化接口調(diào)用,以及增加基本的結(jié)果判斷,講解Python自帶的Unittest框架調(diào)用,期望各位可以通過本文對接口自動化測試有一個大致的了解。 為什么要做接口自動化測試? 在當前互聯(lián)網(wǎng)產(chǎn)品迭代頻繁的背景

    2024年02月07日
    瀏覽(21)
  • python實現(xiàn)基于RPC協(xié)議的接口自動化測試

    python實現(xiàn)基于RPC協(xié)議的接口自動化測試

    RPC(Remote Procedure Call)遠程過程調(diào)用協(xié)議是一個用于建立適當框架的協(xié)議。從本質(zhì)上講,它使一臺機器上的程序能夠調(diào)用另一臺機器上的子程序,而不會意識到它是遠程的。 RPC 是一種軟件通信協(xié)議,一個程序可以用來向位于網(wǎng)絡(luò)上另一臺計算機的程序請求服務(wù),而不必了解

    2024年02月04日
    瀏覽(26)
  • 基于Python接口自動化測試框架(初級篇)附源碼

    基于Python接口自動化測試框架(初級篇)附源碼

    目錄 引言 框架設(shè)計思路 框架結(jié)構(gòu) 運行程序 總結(jié) 總結(jié): ? 很多人都知道,目前市場上很多自動化測試工具,比如:Jmeter,Postman,TestLink等,還有一些自動化測試平臺,那為啥還要開發(fā)接口自動化測試框架呢? 相同之處就不說了,先說一下工具的局限性: 1.測試數(shù)據(jù)不可控

    2024年02月11日
    瀏覽(21)
  • 基于RPC協(xié)議的接口自動化測試可以用Python語言實現(xiàn)

    基于RPC協(xié)議的接口自動化測試可以用Python語言實現(xiàn)。下面是實現(xiàn)步驟: 1、安裝依賴庫,如protobuf、grpc。 2、編寫.proto文件定義接口參數(shù)和返回值。 3、使用protoc編譯.proto文件生成Python代碼。 4、編寫客戶端代碼調(diào)用遠程接口進行測試。 具體實現(xiàn)步驟如下: 1、安裝依賴庫 在終

    2024年02月08日
    瀏覽(25)
  • Jmeter接口自動化測試 —— Jmeter斷言之Json斷言

    ?json斷言可以讓我們很快的定位到響應(yīng)數(shù)據(jù)中的某一字段,當然前提是響應(yīng)數(shù)據(jù)是json格式的,所以如果響應(yīng)數(shù)據(jù)為json格式的話,使用json斷言還是相當方便的。 還是以之前的接口舉例 添加一個Json斷言 維護上想要判斷的字段 查看結(jié)果 ? 我們將期望的值故意改成錯的545111看看

    2024年02月05日
    瀏覽(19)
  • 接口自動化測試之Requests模塊詳解

    接口自動化測試之Requests模塊詳解

    Python中,系統(tǒng)自帶的urllib和urllib2都提供了功能強大的HTTP支持,但是API接口確實太難用了。Requests 作為更高一層的封裝,在大部分情況下對得起它的slogan——HTTP for Humans。 讓我們一起來看看 Requests 這個 HTTP庫在我們接口自動化測試中的使用吧 發(fā)送請求 在使用 Requests發(fā)送網(wǎng)絡(luò)

    2024年02月08日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包