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

Python+Requests+PyTest+Excel+Allure?接口自動化測試實戰(zhàn)

 更新時間:2023年02月23日 09:17:35   作者:測試界的吳彥祖  
本文主要介紹了Python+Requests+PyTest+Excel+Allure?接口自動化測試實戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Unittest是Python標(biāo)準(zhǔn)庫中自帶的單元測試框架,Unittest有時候也被稱為PyUnit,就像JUnit是Java語言的標(biāo)準(zhǔn)單元測試框架一樣,Unittest則是Python語言的標(biāo)準(zhǔn)單元測試框架。

Pytest是Python的另一個第三方單元測試庫。它的目的是讓單元測試變得更容易,并且也能擴(kuò)展到支持應(yīng)用層面復(fù)雜的功能測試。

兩者對比:

Pytest項目實戰(zhàn):

第一步、搭建項目框架(創(chuàng)建Gwyc_Api_Script_Pytest項目目錄)

依次創(chuàng)建子目錄如下:base:存放一些最底層的方法封裝,協(xié)議,請求發(fā)送等。common:存放一些公共方法。config:存放配置文件。data:存放測試數(shù)據(jù)。 log:存放日志。report:存放報告。tests:存放用例。utils:存放公共類。 readme:用于說明文檔。requirements.txt: 用于記錄所有依賴包極其版本號,便于環(huán)境部署,可以通過pip命令自動生成和安裝。

第二步、封裝請求方法(base目錄下面創(chuàng)建method.py)

封裝有兩種方法:

第一種:直接調(diào)用requests庫下面的request方法,并將所有需要用到的參數(shù)定義進(jìn)去,分為實參和行參,實參調(diào)用必須要傳參,行參可給默認(rèn)值,調(diào)用時可重新賦值也可以使用默認(rèn)值。這種方法代碼量少,不用做判斷,request會自動根據(jù)傳入的參數(shù)進(jìn)行發(fā)送請求到服務(wù)器。

第二種:分別對各個請求方式按函數(shù)的形式封裝,分別調(diào)用requests進(jìn)行發(fā)送請求。以get和post為例:put,delete請求按一樣方法封裝,各個請求方式封裝完成以后再定義一個主方法,直接調(diào)用主方法會自動根據(jù)請求方式進(jìn)行判斷調(diào)用各個請求函數(shù),這里也可以不對請求方式匯總封裝,直接調(diào)用各個函數(shù)進(jìn)行發(fā)送請求也是可以的。這種方法封裝涉及代碼量較多,也沒有能夠很好的用上requests庫,因此推薦使用第一種方法。

第三步、封裝讀取文件的方法(common目錄下創(chuàng)建public.py):

1、這里需要用到python的os庫,os 庫是Python標(biāo)準(zhǔn)庫,包含幾百個函數(shù),常用的有路徑操作、進(jìn)程管理、環(huán)境參數(shù)等。

2、分別對獲取目錄和獲取目錄下文件進(jìn)行了封裝,直接調(diào)用并傳入相應(yīng)的參數(shù)即可使用。如下圖:

第四步、準(zhǔn)備數(shù)據(jù)(data目錄下創(chuàng)建data.xlsx)

將接口寫入excel表,將接口需要用到的字段都寫進(jìn)excel然后直接進(jìn)行讀取。

第五步、封裝讀取文件方法(utils目錄下面創(chuàng)建operationExcel.py)

定義一個文件類分別再定義一個方法獲取Sheet表,定義一個方法獲取出所有數(shù)據(jù)存放進(jìn)列表。

第六步、封裝登錄方法(common目錄下面創(chuàng)建login.py)

獲取token提供給接口使用,使用@pytest.fixture裝飾器每次執(zhí)行所有用例前執(zhí)行一遍登錄方法獲取到token并返回。

第七步、對表頭定義全局變量,可以定義在utils目錄下面的operationExcel.py文件中

第八步、封裝用例(tests目錄下面創(chuàng)建test_gwyc_api_all.py)

需要用到@pytest.mark.parametrize()裝飾器進(jìn)行封裝用例,調(diào)用getExceldatas()將讀取出來的用例存放進(jìn)裝飾器,"data"為別名。如下圖,分別請求頭和參數(shù)做了為空判斷,并將token插入到headers里面,這樣每一個接口都能使用到登錄返回的token,不用每次都去調(diào)用獲取token。

第九步、利用allure生成測試報告。

allure是Pytest的插件包需要下載安裝,并將allure里面的bin目錄所在的路徑配置到PATH環(huán)境變量中就可以直接使用報告。

將生成的json文件存放到用例所在的目錄下面執(zhí)行完成以后會在tests目錄下面生成一個report目錄,下面包含result目錄和html目錄,前者是存放json文件,后者存放讀取后生成的html報告

第十步、封裝日志方法(log目錄下面創(chuàng)建log.py)

日志在自動化測試中起到的參考作用相對較小以測試報告為準(zhǔn),直接按相應(yīng)規(guī)則配置好直接調(diào)用即可。

到此這篇關(guān)于Python+Requests+PyTest+Excel+Allure 接口自動化測試實戰(zhàn)的文章就介紹到這了,更多相關(guān)Requests PyTest Excel Allure自動化測試內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python辦公自動化之Excel介紹

    Python辦公自動化之Excel介紹

    大家好,本篇文章主要講的是Python辦公自動化之Excel介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 教你用Python來制作一個自動搶票的腳本小程序

    教你用Python來制作一個自動搶票的腳本小程序

    大麥網(wǎng),是中國綜合類現(xiàn)場娛樂票務(wù)營銷平臺,業(yè)務(wù)覆蓋演唱會、 話劇、音樂劇、體育賽事等領(lǐng)域,但是因為票數(shù)有限,還有黃牛們不能丟了飯碗,所以導(dǎo)致了,很多人都搶不到票,那么,今天帶大家用Python來制作一個自動搶票的腳本小程序,需要的朋友可以參考下
    2023-07-07
  • Python定時庫Apscheduler的簡單使用

    Python定時庫Apscheduler的簡單使用

    Apscheduler是基于Quartz的Python定時任務(wù)框架,功能上跟Quartz一致,使用上跟Quartz也幾乎一致。下面通過本文給大家介紹Python定時庫Apscheduler的簡單使用,感興趣的朋友一起看看吧
    2021-11-11
  • PIL對上傳到Django的圖片進(jìn)行處理并保存的實例

    PIL對上傳到Django的圖片進(jìn)行處理并保存的實例

    今天小編就為大家分享一篇PIL對上傳到Django的圖片進(jìn)行處理并保存的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python實現(xiàn)通過繼承覆蓋方法示例

    Python實現(xiàn)通過繼承覆蓋方法示例

    這篇文章主要介紹了Python實現(xiàn)通過繼承覆蓋方法,結(jié)合實例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計中采用子類覆蓋父類同名方法相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • python中使用正則表達(dá)式的方法詳解

    python中使用正則表達(dá)式的方法詳解

    這篇文章主要為大家詳細(xì)介紹了python中使用正則表達(dá)式的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 將Python中的數(shù)據(jù)存儲到系統(tǒng)本地的簡單方法

    將Python中的數(shù)據(jù)存儲到系統(tǒng)本地的簡單方法

    這篇文章主要介紹了將Python中的數(shù)據(jù)存儲到系統(tǒng)本地的簡單方法,主要使用了pickle模塊,需要的朋友可以參考下
    2015-04-04
  • 基于Python制作一個解壓的內(nèi)存加速球

    基于Python制作一個解壓的內(nèi)存加速球

    安全管家助手什么的上總會帶一個內(nèi)存加速球,有關(guān)掉進(jìn)程以及內(nèi)存清理的功能,本文就來利用Python制作一個解壓的內(nèi)存加速球,有需要的小伙伴可以參考下
    2023-10-10
  • 在python中使用正則表達(dá)式查找可嵌套字符串組

    在python中使用正則表達(dá)式查找可嵌套字符串組

    這篇文章主要介紹了在python中使用正則表達(dá)式查找可嵌套字符串組的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • Python中的enumerate() 函數(shù)用法詳解

    Python中的enumerate() 函數(shù)用法詳解

    enumerate()是python的內(nèi)置函數(shù),將一個可遍歷iterable數(shù)據(jù)對象(如list列表、tuple元組或str字符串)組合為一個索引序列,同時列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在for循環(huán)當(dāng)中,這篇文章主要介紹了Python中的enumerate() 函數(shù)用法詳解,需要的朋友可以參考下
    2024-01-01

最新評論