最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python自動(dòng)化實(shí)戰(zhàn)之接口請(qǐng)求的實(shí)現(xiàn)

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

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

使用 Python 發(fā)送 請(qǐng)求

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

  • http.client
  • urllib.request

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

以上兩個(gè)都可以實(shí)現(xiàn)發(fā)送 http 請(qǐng)求,也就是說(shuō)它們都可以幫助我們完成接口測(cè)試。不過(guò)相對(duì)于來(lái)說(shuō)它們更偏向于底層,需要更多的定義,所以在使用上面比較的麻煩;

在實(shí)際的工作中,使用的更多的反而是第三方庫(kù) resuests ,為什么會(huì)選擇使用 resuests ?那是因?yàn)樗墙?jīng)過(guò)二次集成、二次封裝的,它能夠讓我們發(fā)送請(qǐng)求變得更簡(jiǎn)單,支持編碼、解碼、會(huì)話保持、長(zhǎng)鏈接、可以加載 Header等等等等。

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

requests 庫(kù)的配置

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

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

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

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

從天行數(shù)據(jù)網(wǎng)站可以找到公開(kāi)的 空氣質(zhì)量接口,通過(guò)該接口,可以免費(fèi)查詢?nèi)珖?guó)各地城市的空氣質(zhì)量。

API詳情如下:

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

**返回格式:**json

**請(qǐng)求方式:**get

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

請(qǐng)求參數(shù)說(shuō)明:

參數(shù)是否必填項(xiàng)類型說(shuō)明
cityyesstring城市名稱的中文名稱或拼音,如:上海 或 shanghai
keyyesstringAPP key (注冊(cè)之后申請(qǐng)?jiān)摻涌诘氖褂?,自?dòng)生成一個(gè)key)

返回參數(shù)說(shuō)明:

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

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

實(shí)現(xiàn)發(fā)送請(qǐng)求的三步:

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

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

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

代碼示例如下:

# coding:utf-8

import requests

'''
天行空氣質(zhì)量接口:
    get:http://web.juhe.cn/environment/air/cityair?city=城市名稱&key=您申請(qǐng)的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 的文字解析

運(yùn)行結(jié)果如下:

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

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

# coding:utf-8
import requests

'''
天行空氣質(zhì)量接口:
    get:http://web.juhe.cn/environment/air/cityair?city=城市名稱&key=您申請(qǐng)的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 的文字解析

運(yùn)行結(jié)果如下:

接下來(lái)再嘗試一下通過(guò) psot 方法,運(yùn)行的結(jié)果會(huì)怎么樣。

代碼示例如下:

# coding:utf-8
import requests

'''
天行空氣質(zhì)量接口:
    get:http://web.juhe.cn/environment/air/cityair?city=城市名稱&key=您申請(qǐng)的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 請(qǐng)求方法的 "url" 問(wèn)號(hào)后面的內(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 的文字解析

運(yùn)行結(jié)果如下:

這里會(huì)發(fā)現(xiàn)結(jié)果與 get 方法是一致的,其實(shí)想要測(cè)試個(gè)簡(jiǎn)單的接口其實(shí)一點(diǎn)都不復(fù)雜… 對(duì)不對(duì)? 再接下來(lái)就準(zhǔn)備開(kāi)始一套完整的測(cè)試自動(dòng)化測(cè)試的實(shí)現(xiàn)吧 

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

相關(guān)文章

  • Python 腳本拉取 Docker 鏡像問(wèn)題

    Python 腳本拉取 Docker 鏡像問(wèn)題

    這篇文章主要介紹了 Python 腳本拉取 Docker 鏡像問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 簡(jiǎn)單了解python PEP的一些知識(shí)

    簡(jiǎn)單了解python PEP的一些知識(shí)

    這篇文章主要介紹了簡(jiǎn)單了解python PEP的一些知識(shí),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python列表插入append(), extend(), insert()用法詳解

    python列表插入append(), extend(), insert()用法詳解

    在本篇文章里小編給大家整理了關(guān)于python列表插入append(), extend(), insert()用法以及相關(guān)知識(shí)點(diǎn),有需要的朋友們參考下。
    2019-09-09
  • Python基于最小二乘法實(shí)現(xiàn)曲線擬合示例

    Python基于最小二乘法實(shí)現(xiàn)曲線擬合示例

    這篇文章主要介紹了Python基于最小二乘法實(shí)現(xiàn)曲線擬合,涉及Python基于numpy及scipy庫(kù)進(jìn)行曲線擬合操作相關(guān)運(yùn)算技巧,需要的朋友可以參考下
    2018-06-06
  • python利用微信公眾號(hào)實(shí)現(xiàn)報(bào)警功能

    python利用微信公眾號(hào)實(shí)現(xiàn)報(bào)警功能

    微信公眾號(hào)共有三種,服務(wù)號(hào)、訂閱號(hào)、企業(yè)號(hào)。它們?cè)讷@取AccessToken上各有不同。接下來(lái)通過(guò)本文給大家介紹python利用微信公眾號(hào)實(shí)現(xiàn)報(bào)警功能,感興趣的朋友一起看看吧
    2018-06-06
  • python?如何使用requests下載文件

    python?如何使用requests下載文件

    這篇文章主要介紹了python?如何使用requests下載文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Python按照l(shuí)ist dict key進(jìn)行排序過(guò)程解析

    Python按照l(shuí)ist dict key進(jìn)行排序過(guò)程解析

    這篇文章主要介紹了Python按照l(shuí)ist dict key進(jìn)行排序過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python中查找素因數(shù)的方法詳解

    Python中查找素因數(shù)的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何在 Python 中執(zhí)行素因數(shù)分解,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以一起學(xué)習(xí)一下
    2023-10-10
  • python manim實(shí)現(xiàn)排序算法動(dòng)畫(huà)示例

    python manim實(shí)現(xiàn)排序算法動(dòng)畫(huà)示例

    這篇文章主要為大家介紹了python manim實(shí)現(xiàn)排序算法動(dòng)畫(huà)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Python之日期與時(shí)間處理模塊(date和datetime)

    Python之日期與時(shí)間處理模塊(date和datetime)

    這篇文章主要介紹了Python之日期與時(shí)間處理模塊(date和datetime),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02

最新評(píng)論

盐津县| 松原市| 汶上县| 旌德县| 扶绥县| 武功县| 绥江县| 吴旗县| 江油市| 晋州市| 长治县| 吐鲁番市| 黄骅市| 黄冈市| 孟津县| 绍兴市| 长春市| 施甸县| 盐城市| 泽州县| 新乡县| 历史| 万安县| 邢台县| 当阳市| 大余县| 运城市| 聂拉木县| 盘锦市| 墨玉县| 会同县| 平定县| 界首市| 乐东| 凤山县| 朔州市| 滨州市| 西峡县| 闻喜县| 喀喇| 分宜县|