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

Python實現(xiàn)接口自動化測試的方法詳解

 更新時間:2024年08月26日 09:33:59   作者:測試雜貨鋪  
Python接口自動化測試是一種高效、可重復的軟件質(zhì)量驗證方法,尤其在現(xiàn)代軟件開發(fā)中,它已經(jīng)成為不可或缺的一部分,本文將深入探討如何使用Python進行接口自動化測試,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下

一、環(huán)境搭建

  • python +unittest+ requests實現(xiàn)http請求的接口自動化
  • Python的優(yōu)勢:語法簡潔優(yōu)美, 功能強大, 標準庫跟第三方庫灰常強大,建議大家事先了解一下Python的基礎(chǔ);
  • unittest是python的標準測試庫,相比于其他測試框架是python目前使用最廣的測試框架。
  • Requests 是用Python語言編寫,基于urllib,采用Apache2 Licensed開源協(xié)議的HTTP 庫。它比urllib 更加方便,可以節(jié)約我們大量的工作,完全滿足HTTP 測試需求。
  • 在CMD命令行執(zhí)行命令加載request第三方庫:pip install requests
  •  python -m pip install pillow

二、方法

  • pip安裝requests第三方庫,然后引入:import requests
  • 引入json標準庫,美化json輸出:import json
  • 調(diào)用requests庫中的post方法,會給出所需要的參數(shù),傳入上面定義的url和data參數(shù),運行.py文件就執(zhí)行了post請求。
import requests    #pip安裝requests第三方庫,然后引入
import json             #引入json標準庫,美化json輸出
  
url = 'http://***/account/login'
data = {
        "username":"***01",
        "password":"password",
}
 
result = requests.post(url,data).json()  #以json格式輸出
print(result)
result = requests.post(url,data).text     #以源碼形式輸出
print(result)
import requests#引入requests第三方包
import json#引入json包
 
class Login():
    def httprequests(self,url,data,method):#self為類函數(shù)的默認函數(shù),放在第一位
        if method=="post":
            res=requests.post(url,data)#post請求方法
        else:
            res=requests.get(url,data)#get請求方法
        print(res.text)#以源碼形式輸出
        print(res.json())#以json形式輸出
 
#創(chuàng)建實例,調(diào)用函數(shù)
test1=Login()
login_url='https://www.******/pc/member/sign'
login_data={"flag":"mobile",
            "password":"f5e05a41724115d076bfb1fd2bd9613e",
            "mobile_phone":"136********"}
login_method='post'
test1.httprequests(login_url,login_data,login_method)

三、單元測試

  • 什么是單元測試:單元測試就是對代碼進行測試,本質(zhì)就是對類或者函數(shù)進行測試
  • 什么時候進行單元測試:代碼完成后就開始進行測試
  • 由誰進行單元測試:一般有開發(fā)自己進行測試
  • 目的:盡可能早的介入測試,發(fā)現(xiàn)底層代碼中的問題
  • 方法:使用unittest方法包:import unittest  

(1)先創(chuàng)建一個加法類-Mathmethod,存入Mathmethod.py文件

#定義一個數(shù)學加法類
class Mathmethod():
    def add(self,a,b):
        return(a+b)
    def sub(self,a,b):
        return(a-b)

(2)然后創(chuàng)建測試用例-TestMathmethod

import unittest
from HTMLTestRunner import HTMLTestRunner
from requesttest.math.Mathmethod import Mathmethod  # 引入Mathmethod模塊
#import HTMLTestRunnerNew
 
 
class TestMathmethod(unittest.TestCase):#創(chuàng)建TestMathmethod類,繼承unittest.TestCase方法
    #編寫測試用例,函數(shù)命名必須以test_開頭
    def test_add_two_num(self):
        res=Mathmethod().add(3,6)
        print('兩個數(shù)值相加結(jié)果是',res)
        self.assertEqual(9,res)
 
    def test_sub_two_num(self):
        res=Mathmethod().sub(9,8)
        print('兩個數(shù)值相減結(jié)果是', res)
        self.assertEqual(1,res)
 

(3)創(chuàng)建測試報告-使用HTML方法

import unittest
from HTMLTestRunner import HTMLTestRunner
from requesttest.math.TestMathmethod import TestMathmethod
 
 
testunit=unittest.TestSuite()#生成單元測試流程
testunit.addTest(TestMathmethod("test_add_two_num"))
testunit.addTest(TestMathmethod("test_sub_two_num"))#加載一條測試用例
fp=open('D:\\test\\unittest1.html','wb')#創(chuàng)建測試報告,以寫的方式存入某個路徑
runner=HTMLTestRunner(
    stream=fp,
    title="加法測試",
    description="用例執(zhí)行情況:"
    )
runner.run(testunit)
fp.close()

(4)也可使用txt的形式輸出測試報告

import unittest
from HTMLTestRunner import HTMLTestRunner
from requesttest.math.TestMathmethod import TestMathmethod
 
suite=unittest.TestSuite()#收集測試用例
loader=unittest.TestLoader()#加載測試用例-按照類的方法添加一個類下面的所有測試用例
suite.addTest(loader.loadTestsFromTestCase(TestMathmethod))
file=open('test_case.txt','w+')#測試報告的存儲路徑和測試報告的讀寫方式
runner=unittest.TextTestRunner(
    stream=file,
    verbosity=2,#測試報告的詳細程度
)
runner.run(suite)#執(zhí)行測試用例
test_add_two_num (requesttest.math.TestMathmethod.TestMathmethod) ... ok
test_sub_two_num (requesttest.math.TestMathmethod.TestMathmethod) ... ok
 
----------------------------------------------------------------------
Ran 2 tests in 0.000s
 
OK

(5)生成測試報告方法三(HTML的方式)

 
import unittest
from HTMLTestRunner import HTMLTestRunner
from requesttest.math.TestMathmethod import TestMathmethod
 
suite=unittest.TestSuite()#收集測試用例
loader=unittest.TestLoader()#加載測試用例
suite.addTest(loader.loadTestsFromTestCase(TestMathmethod))
 
fp=open('D:\\test\\unittest1.html','wb')#創(chuàng)建測試報告,以寫的方式存入某個路徑
runner=HTMLTestRunner(
    stream=fp,
    title="加法測試",
    description="用例執(zhí)行情況:"
    )
runner.run(suite)
fp.close()

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

相關(guān)文章

  • Python讀取CSV文件并進行數(shù)據(jù)可視化繪圖

    Python讀取CSV文件并進行數(shù)據(jù)可視化繪圖

    這篇文章主要介紹了Python讀取CSV文件并進行數(shù)據(jù)可視化繪圖,文章圍繞主題基于Python展開CSV文件讀取的詳細內(nèi)容介紹,感興趣的小伙伴可以參考一下
    2022-06-06
  • Python機器學習之手寫KNN算法預測城市空氣質(zhì)量

    Python機器學習之手寫KNN算法預測城市空氣質(zhì)量

    KNN(K-Nearest Neighbor)最鄰近分類算法是數(shù)據(jù)挖掘分類(classification)技術(shù)中常用算法之一,本文將介紹如何通過KNN算法實現(xiàn)城市空氣質(zhì)量的預測,感興趣的同學可以了解一下
    2021-12-12
  • python中文編碼與json中文輸出問題詳解

    python中文編碼與json中文輸出問題詳解

    Python的編碼問題還是很讓人頭疼的,做下筆記幫助別人,也幫助自己,下面這篇文章主要給大家介紹了關(guān)于python中文編碼與json中文輸出問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-08-08
  • 對python中assert、isinstance的用法詳解

    對python中assert、isinstance的用法詳解

    今天小編就為的就分享一篇對python中assert、isinstance的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • pycharm運行出現(xiàn)ImportError:No module named的解決方法

    pycharm運行出現(xiàn)ImportError:No module named的解決方法

    今天小編就為大家分享一篇pycharm運行出現(xiàn)ImportError:No module named的解決方法。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python讀取csv、Excel文件生成圖表的方法

    Python讀取csv、Excel文件生成圖表的方法

    這篇文章主要介紹了Python讀取csv、Excel文件生成圖表,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • Python2隨機數(shù)列生成器簡單實例

    Python2隨機數(shù)列生成器簡單實例

    這篇文章主要介紹了Python2隨機數(shù)列生成器,結(jié)合簡單實例形式分析了Python基于random模塊操作隨機數(shù)的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • Python調(diào)用graphviz繪制結(jié)構(gòu)化圖形網(wǎng)絡(luò)示例

    Python調(diào)用graphviz繪制結(jié)構(gòu)化圖形網(wǎng)絡(luò)示例

    今天小編就為大家分享一篇Python調(diào)用graphviz繪制結(jié)構(gòu)化圖形網(wǎng)絡(luò)示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Windows下Eclipse+PyDev配置Python+PyQt4開發(fā)環(huán)境

    Windows下Eclipse+PyDev配置Python+PyQt4開發(fā)環(huán)境

    這篇文章主要介紹了Windows下Eclipse+PyDev配置Python+PyQt4開發(fā)環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • CentOS下安裝python3.7全過程

    CentOS下安裝python3.7全過程

    文章詳細介紹了如何在Linux系統(tǒng)上從源碼編譯并安裝Python 3.7,并解決了一些常見的安裝問題,如依賴包缺失、模塊未找到等,同時,還介紹了如何將新安裝的Python 3設(shè)置為默認Python,并確保yum等系統(tǒng)工具能夠正常使用Python 3
    2026-01-01

最新評論

辽阳县| 临夏市| 惠来县| 南投市| 东台市| 二连浩特市| 房产| 饶阳县| 肃北| 环江| 泾川县| 囊谦县| 丰都县| 大连市| 尼木县| 禄丰县| 松溪县| 石阡县| 辰溪县| 宽城| 德庆县| 凤台县| 阿克苏市| 库车县| 左权县| 郧西县| 翁牛特旗| 陵水| 繁峙县| 定安县| 丁青县| 怀仁县| 宝清县| 连江县| 滨州市| 兴化市| 和林格尔县| 五河县| 绥滨县| 克什克腾旗| 昔阳县|