欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python自動化實戰(zhàn)之接口請求的實現(xiàn)

 更新時間:2022年05月30日 16:07:07   作者:渴望力量的哈士奇  
本文為大家重點介紹如何通過 python 編碼來實現(xiàn)我們的接口測試以及通過Pycharm的實際應(yīng)用編寫一個簡單接口測試,感興趣的可以了解一下

在前文說過,如果想要更好的做接口測試,我們要利用自己的代碼基礎(chǔ)與代碼優(yōu)勢,所以該章節(jié)不會再介紹商業(yè)化的、通用的接口測試工具,重點介紹如何通過 python 編碼來實現(xiàn)我們的接口測試以及通過 Pycharm 的實際應(yīng)用編寫一個簡單接口測試。

使用 Python 發(fā)送 請求

應(yīng)為從最開始寫這個 Python全棧系列 一直使用的就是 python3.x (這里我使用的是 python 3.8 版本) ,實際上 python 3 本身自帶的就有能夠?qū)崿F(xiàn)發(fā)送請求的模塊:

  • http.client
  • urllib.request

Python 發(fā)送請求的方式

以上兩個都可以實現(xiàn)發(fā)送 http 請求,也就是說它們都可以幫助我們完成接口測試。不過相對于來說它們更偏向于底層,需要更多的定義,所以在使用上面比較的麻煩;

在實際的工作中,使用的更多的反而是第三方庫 resuests ,為什么會選擇使用 resuests ?那是因為它是經(jīng)過二次集成、二次封裝的,它能夠讓我們發(fā)送請求變得更簡單,支持編碼、解碼、會話保持、長鏈接、可以加載 Header等等等等。

這也是我們使用 Python 做接口測試的一個首選方式,接下來就學(xué)習(xí)一下如何安裝并使用 requests 庫 吧。

requests 庫的配置

安裝 Requests 庫 其實也非常的簡單,直接在 terminal 終端 執(zhí)行 pip install requests , 見下圖:

也可以通過設(shè)置中心去安裝,在 Windows 系統(tǒng),選擇的是 File --> Settings... ,Mac 系統(tǒng)選擇的是 PyCharm --> Preferences... 如下圖:

如果安裝失敗,或者安裝超時,可以換一個國內(nèi)的源地址,或者考慮一下 ke xue shang wang 吧。

天行數(shù)據(jù) - 空氣質(zhì)量接口

從天行數(shù)據(jù)網(wǎng)站可以找到公開的 空氣質(zhì)量接口,通過該接口,可以免費查詢?nèi)珖鞯爻鞘械目諝赓|(zhì)量。

API詳情如下:

接口地址:http://web.juhe.cn/environment/air/cityair

**返回格式:**json

**請求方式:**get

請求示例:http://web.juhe.cn/environment/air/cityair?city=城市名稱&key=您申請的APPKEY值

請求參數(shù)說明:

參數(shù)是否必填項類型說明
cityyesstring城市名稱的中文名稱或拼音,如:上海 或 shanghai
keyyesstringAPP key (注冊之后申請該接口的使用,自動生成一個key)

返回參數(shù)說明:

名稱類型說明
citynowJSONObject當前城市的空氣質(zhì)量的最新結(jié)果
lastTwoWeeksJSONObject最近幾周的空氣質(zhì)量數(shù)據(jù)(4周28天)
lastMoniDataJSONObject各監(jiān)測點的數(shù)據(jù),如果字段返回"—",可能是該監(jiān)測點未監(jiān)測這項數(shù)據(jù)或者有延遲

利用 requests 發(fā)送查詢 空氣質(zhì)量接口 請求

實現(xiàn)發(fā)送請求的三步:

1、組裝請求 (包含 url 、請求的參數(shù)、請求的數(shù)據(jù)、 headers、cookies等等)

2、發(fā)送請求,獲取響應(yīng)

3、解析響應(yīng)、獲取到想要的文本

代碼示例如下:

# coding:utf-8

import requests

'''
天行空氣質(zhì)量接口:
    get:http://web.juhe.cn/environment/air/cityair?city=城市名稱&key=您申請的APPKEY值
'''

url = "http://web.juhe.cn/environment/air/cityair?city=shanghai&key=98a470ea50853d3e698b2dfea09ae079"	# 定義url

result = requests.get(url)		# 使用 requests 包的 get 方法獲取響應(yīng)結(jié)果

print(result.text)				# 打印輸出 result 的文字解析

運行結(jié)果如下:

url 還支持 param 等一些信息,所以我們在組裝url的時候,還可以不用像上圖中那樣直接去定義;可以單獨定義一個 param ,以字典的形式寫入我們要傳入的內(nèi)容。代碼示例如下:

PS:"param" 就是 get 請求方法的 "url" 問號后面的內(nèi)容,示例:"http://web.juhe.cn/environment/air/cityair?city=城市名稱&key=您申請的APPKEY值"

# coding:utf-8
import requests

'''
天行空氣質(zhì)量接口:
    get:http://web.juhe.cn/environment/air/cityair?city=城市名稱&key=您申請的APPKEY值
'''

# url = "http://web.juhe.cn/environment/air/cityair?city=shanghai&key=98a470ea50853d3e698b2dfea09ae079"
url = "http://web.juhe.cn/environment/air/cityair"		# 定義url	

param = {"key": "98a470ea50853d3e698b2dfea09ae079", "city": "shanghai"}		# 定義param

result = requests.get(url=url, params=param)		# 使用 requests 包的 get 方法獲取響應(yīng)結(jié)果

print(result.text)									# 打印輸出 result 的文字解析

運行結(jié)果如下:

接下來再嘗試一下通過 psot 方法,運行的結(jié)果會怎么樣。

代碼示例如下:

# coding:utf-8
import requests

'''
天行空氣質(zhì)量接口:
    get:http://web.juhe.cn/environment/air/cityair?city=城市名稱&key=您申請的APPKEY值
'''

# url = "http://web.juhe.cn/environment/air/cityair?city=shanghai&key=98a470ea50853d3e698b2dfea09ae079"
url = "http://web.juhe.cn/environment/air/cityair"		# 定義url

# param = {"key": "98a470ea50853d3e698b2dfea09ae079", "city": "shanghai"}	# "param" 就是 get 請求方法的 "url" 問號后面的內(nèi)容
data = {"key": "98a470ea50853d3e698b2dfea09ae079", "city": "shanghai"}		# data 的內(nèi)容才是 post 方法里需要傳入的參數(shù)

# result = requests.get(url=url, params=param)
result = requests.post(url=url, data=data)			# 使用 requests 包的 post 方法獲取響應(yīng)結(jié)果

print(result.text)		# 打印輸出 result 的文字解析

運行結(jié)果如下:

這里會發(fā)現(xiàn)結(jié)果與 get 方法是一致的,其實想要測試個簡單的接口其實一點都不復(fù)雜… 對不對? 再接下來就準備開始一套完整的測試自動化測試的實現(xiàn)吧 

以上就是Python自動化實戰(zhàn)之接口請求的實現(xiàn)的詳細內(nèi)容,更多關(guān)于Python接口請求的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實現(xiàn)Windows和Linux之間互相傳輸文件(文件夾)的方法

    Python實現(xiàn)Windows和Linux之間互相傳輸文件(文件夾)的方法

    下面小編就為大家?guī)硪黄狿ython實現(xiàn)Windows和Linux之間互相傳輸文件(文件夾)的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Python 開發(fā)Activex組件方法

    Python 開發(fā)Activex組件方法

    Python強的功能就在于它無所不能。
    2009-11-11
  • python基礎(chǔ)教程之基本內(nèi)置數(shù)據(jù)類型介紹

    python基礎(chǔ)教程之基本內(nèi)置數(shù)據(jù)類型介紹

    在Python程序中,每個數(shù)據(jù)都是對像,每個對像都有自己的一個類型。不同類型有不同的操作方法,使用內(nèi)置數(shù)據(jù)類型獨有的操作方法,可以更快的完成很多工作
    2014-02-02
  • python中實現(xiàn)迭代器(iterator)的方法示例

    python中實現(xiàn)迭代器(iterator)的方法示例

    我們經(jīng)常需要遍歷一個對象中的元素,在Python中這種功能是通過迭代器來實現(xiàn)的。下面這篇文章主要給大家介紹了python中實現(xiàn)迭代器(iterator)的方法示例,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • python實現(xiàn)WebSocket服務(wù)端過程解析

    python實現(xiàn)WebSocket服務(wù)端過程解析

    這篇文章主要介紹了python實現(xiàn)WebSocket服務(wù)端過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • PyTorch中反卷積的用法詳解

    PyTorch中反卷積的用法詳解

    今天小編就為大家分享一篇PyTorch中反卷積的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python學(xué)習(xí)開發(fā)之圖形用戶界面詳解

    Python學(xué)習(xí)開發(fā)之圖形用戶界面詳解

    當前流行的計算機桌面應(yīng)用程序大多數(shù)為圖形化用戶界面(Graphic User Interface,GUI),python也提供了多個圖形開發(fā)界面的庫,這篇文章主要給大家介紹了關(guān)于Python學(xué)習(xí)開發(fā)之圖形用戶界面的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Python 命令行非阻塞輸入的小例子

    Python 命令行非阻塞輸入的小例子

    很久很久以前,系windows平臺下,用C語言寫過一款貪食蛇游戲,cmd界面,用kbhit()函數(shù)實現(xiàn)非阻塞輸入。系windows平臺下用python依然可以調(diào)用msvcrt.khbit實現(xiàn)非阻塞監(jiān)聽。但系喺linux下面就冇呢支歌仔唱
    2013-09-09
  • Python timeit模塊的使用實踐

    Python timeit模塊的使用實踐

    timeit 模塊是 Python 標準庫中的模塊,無需安裝,直接導(dǎo)入就可以使用。這篇文章主要介紹了Python timeit模塊的使用,需要的朋友可以參考下
    2020-01-01
  • Pytorch 實現(xiàn)權(quán)重初始化

    Pytorch 實現(xiàn)權(quán)重初始化

    今天小編就為大家分享一篇Pytorch 實現(xiàn)權(quán)重初始化,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論