欧美一区二区三区影视_九色porny丨国产精品_色婷婷综合网_日韩精品欧美精品_日本另类视频_捆绑调教美女网站视频一区_高清在线不卡av_亚洲欧洲www

世界快資訊丨領導看了給你加薪!python +ddt+excel 一招鮮,接口自動化測試輕松搞定,測試報告驚艷四座!

作者: 來源: 博客園 2023-06-07 17:01:38

 

接口自動化測試是指通過編寫代碼或使用工具,模擬用戶發送請求,驗證接口是否符合設計規范和功能需求的過程。

如何用 python +ddt+excel 實現接口自動化測試

接口自動化測試可以提高測試效率和質量,節省測試成本和時間,保證測試覆蓋率和可維護性。


(相關資料圖)

讓勇哥帶你入門如何用 python +ddt+excel 實現接口自動化測試,請瞧如下內容:

一、準備工作

1. 安裝 python 環境

python 是一種簡潔、優雅、易學的編程語言,它有豐富的第三方庫和社區支持,非常適合用來進行接口自動化測試。安裝 python 的3.0以上的版本),并配置好環境變量,以便在命令行中使用 python 命令。

2. 安裝相關庫

為了進行接口自動化測試,我們需要安裝以下幾個庫:

  • requests:用來發送 HTTP 請求,支持各種方法、參數、頭部、身份驗證等。

  • xlrd:用來讀取 excel 文件中的數據,支持 xls 和 xlsx 格式。

  • openpyxl:用來寫入 excel 文件中的數據,支持 xlsx 格式。

  • ddt:用來實現數據驅動測試,可以從 excel 文件中讀取多組數據,并生成多個測試用例。

  • unittest:用來編寫和執行測試用例,支持斷言、前置后置條件、測試套件等。

  • HTMLTestRunner_api:用來生成 HTML 格式的測試報告,支持圖表、日志、截圖等。

我們可以使用 pip 命令來安裝這些庫,例如:

pip install requests

二、設計測試

1. 編寫 excel 文件

我們需要在 excel 文件中填寫接口的相關信息,包括:

  • 接口名稱

  • 請求地址

  • 請求方法

  • 請求參數

  • 預期結果

例如:

我們可以將這個 excel 文件保存為 test_data.xlsx,并放在項目的 test_datas 目錄下。

2. 封裝 excel 操作

為了方便地讀取和寫入 excel 文件中的數據,我們需要封裝一些 excel 操作的函數,例如:

  • 打開表單

  • 獲取表頭

  • 獲取所有數據

  • 寫入數據

我們可以將這些函數定義在一個類中,并保存為 excel_handler.py,并放在項目的 Lib 目錄下。具體代碼如下:

from openpyxl import load_workbookfrom openpyxl.worksheet.worksheet import Worksheetclass ExcelHandler():    """操作Excel"""    def __init__(self, file):        """初始化函數"""        self.file = file        def open_sheet(self, sheet_name) -> Worksheet:        """打開表單"""        wb = load_workbook(self.file)        sheet = wb[sheet_name]        return sheet        def read_rows(self,sheet_name):        """讀取除表頭外所有數據(除第一行外的所有數據)"""        sheet = self.open_sheet(sheet_name)        rows = list(sheet.rows)[1:]        data = []        for row in rows:            row_data = []            for cell in row:                row_data.append(cell.value)            data.append(row_data)        return data def read_key_value(self,sheet_name):    """獲取所有數據,將表頭與內容結合整...."""...    return data

3. 封裝 requests 請求

為了方便地發送 HTTP 請求,我們需要封裝一些 requests 請求的函數,例如:

  • 初始化 session

  • 發送請求

  • 關閉 session

我們可以將這些函數定義在一個類中,并保存為 requests_handler.py,并放在項目的 Lib 目錄下。具體代碼如下:

import requestsclass HTTPHandler:    # 初始化    def __init__(self):        self.session = requests.Session()        # 定義一個方法,接收訪問http請求的方式    def visit(self, url, method, params=None, data=None, json=None, **kwargs):        res = self.session.request(method, url, params=params, data=data, json=json, **kwargs)        try:            return res.json()        except ValueError:            print("return not json")        # 關閉session會話    def close_session(self):        self.session.close()

三、執行測試

1. 編寫測試用例

我們需要使用 unittest 和 ddt 來編寫和執行測試用例,具體步驟如下:

  • 導入相關庫和模塊

  • 定義一個測試類,繼承 unittest.TestCase

  • 定義一個類方法,用來初始化 session 和讀取 excel 文件中的數據

  • 使用 @ddt.data 裝飾器,傳入 excel 文件中的數據

  • 定義一個測試方法,用來發送請求,并斷言響應結果是否符合預期

我們可以將這些代碼保存為 test_api.py,并放在項目的 test_cases 目錄下。具體代碼如下:

from Lib.excel_handler import ExcelHandlerfrom Lib.requests_handler import HTTPHandlerimport requestsimport ddtimport unittestdata = ExcelHandler("test_datas/test_data.xlsx").read_key_value("Sheet1")@ddt.ddtclass TestAPI(unittest.TestCase):    @classmethod    def setUpClass(cls):        cls.s = HTTPHandler()        @ddt.data(*data)    def test_api(self,params):        print("params:%s" % params)        case_name = params.get("接口名稱")        url = params.get("請求地址")        args = eval(params.get("請求參數")) if isinstance(params.get("請求參數"), str) else params.get("請求參數")        method = params.get("請求方法")        expct_res1 = params.get("預期結果")                # 發起請求,獲取返回數據        result = self.s.visit(url, method, params=args)        # 分析返回數據        response_data = result["name"]                # 斷言響應結果是否符合預期        self.assertEqual(expct_res1, response_data)    @classmethod    def tearDownClass(cls):       cls.s.close_session()

2. 生成測試報告

我們需要使用 HTMLTestRunner_api 來生成 HTML 格式的測試報告,具體步驟如下:

  • 導入相關庫和模塊

  • 定義一個測試套件,添加測試用例

  • 定義一個測試報告的文件名和路徑

  • 定義一個測試運行器,傳入測試報告的文件對象和相關參數

  • 使用測試運行器來運行測試套件

我們可以將這些代碼保存為 run.py,并放在項目的根目錄下。具體代碼如下:

import unittestfrom HTMLTestRunner_api import HTMLTestRunnerfrom test_cases.test_api import TestAPI# 定義一個測試套件suite = unittest.TestSuite()# 添加測試用例suite.addTest(unittest.makeSuite(TestAPI))# 定義一個測試報告的文件名和路徑report_file = "reports/test_report.html"# 定義一個測試運行器,傳入測試報告的文件對象和相關參數with open(report_file, "wb") as f:    runner = HTMLTestRunner(f, title="接口自動化測試報告", description="用例執行情況")    # 使用測試運行器來運行測試套件    runner.run(suite)

四、查看結果

運行 run.py 文件后,我們可以在 reports 目錄下看到生成的 test_report.html 文件,打開它,我們可以看到以下內容:

我們可以看到,共有 11 個測試用例,通過 6 個,失敗 5 個。我們還可以看到每個測試用例的詳細信息,包括用例名稱、請求地址、請求參數、預期結果、實際結果等。我們還可以看到一些圖表、日志、截圖等。

這樣,我們就完成了用 python +ddt+excel 實現接口自動化測試的過程。

總結

以上就是勇哥今天為各位小伙伴準備的內容,如果你想了解更多關于Python自動化測試的知識和技巧,歡迎關注:

我的公眾號:百態測試

博客(奈非天的主頁 - 博客園 (cnblogs.com))

我會不定期地分享更多的精彩內容。感謝你的閱讀和支持!

本文來自博客園,作者:奈非天,轉載請注明原文鏈接:https://www.cnblogs.com/Nephalem-262667641/p/17460169.html

 

關鍵詞


相關文章
欧美一级理论片| 免费观看在线黄色网| 夜夜爽夜夜爽精品视频| 成人一区在线看| 色综合天天性综合| 888av在线视频| 玖玖视频精品| 欧美一级高清大全免费观看| 国产在线观看a视频| 一区二区三区视频播放| 婷婷国产精品| 婷婷久久综合| 日韩精品诱惑一区?区三区| 精品欧美乱码久久久久久1区2区| 欧美高清性hdvideosex| 少妇**av毛片在线看| 色综合久久久久综合体 | 国产主播一区二区| 天天色综合天天| 精品欧美一区二区三区精品久久| 中日韩一区二区三区| 国产精品一区二区日韩| 白白在线精品| 国产69精品久久app免费版| 四虎影视成人精品国库在线观看 | 永久免费av在线| 精品欧美一区二区三区在线观看 | 午夜爽爽视频| 好吊日视频在线观看| 日韩成人性视频| 国产精品丝袜黑色高跟| 国内外成人在线视频| 91高清一区| 亚洲自拍另类综合| 国产精品㊣新片速递bt| 久久91精品国产91久久小草| 91久久久免费一区二区| 色综合视频一区二区三区日韩| 欧美日本不卡| 欧美—级在线免费片| 国产精品福利在线播放| 国模大尺度私拍在线视频| 视频免费一区| 伊人久久婷婷| 国产福利一区二区三区视频在线| 在线成人黄色| 久国产精品韩国三级视频| 欧美性猛交xxxx乱大交极品| 欧美大片网站| 精品二区久久| 亚洲欧美综合色| 久草亚洲一区| 亚洲乱码电影| 在线能看的av网址| 久久精品久久综合| 欧美videossexotv100| 三妻四妾完整版在线观看电视剧| 97aⅴ精品视频一二三区| 欧美激情20| 日韩欧美国产不卡| 欧美精品系列| 亚洲石原莉奈一区二区在线观看| 成人mm视频在线观看| 亚洲欧美清纯在线制服| 国产亚洲欧美日韩在线一区| 亚洲欧美一区二区三区久久| 里番精品3d一二三区| 久久久五月婷婷| 久久久久综合| 国产网站一区二区| 日韩一区二区在线看片| 免费黄色网址在线观看| 婷婷六月综合| 亚洲欧美制服综合另类| 一区精品久久| jizz亚洲女人高潮大叫| 97久久综合精品久久久综合| 国产精品3区| 七七婷婷婷婷精品国产| 久久精品久久久精品美女| 欧美一级片在线| 51vv免费精品视频一区二区| 中文字幕在线不卡国产视频| av网站网址在线观看| 亚洲国产精品v| 91av一区| 成人在线播放视频| www.在线视频| 日本最新不卡在线| 亚洲欧美制服中文字幕| 欧美另类中文字幕| 欧美日韩亚洲视频一区| 另类视频一区二区三区| 麻豆精品视频在线观看| 亚洲美女免费精品视频在线观看| 国产精品videossex| 黄页免费在线| 久久久久国产精品麻豆ai换脸 | 麻豆mv在线看| 日韩福利电影在线观看| 青草久久伊人| 国产一区二区三区在线看麻豆| 国产香蕉视频在线观看| 国产精品五月天| 日韩精品三级| 亚洲视频小说图片| 色yeye免费人成网站在线观看| 国产精品一区二区三区网站| 免费电影视频在线看| 亚洲电影有码| 国产一区清纯| 亚洲大片精品永久免费| 天堂av最新在线| 美女性感视频久久| 精产国产伦理一二三区| 国产成人一区二区精品非洲| a毛片在线播放| 91一区二区在线观看| 欧美日韩欧美| 亚洲va国产天堂va久久en| 欧美在线免费一级片| 99热99re6国产在线播放| 97在线资源| 亚洲а∨天堂久久精品喷水| 国产精品久久久久久久浪潮网站| 老司机精品视频导航| 亚洲欧美日本伦理| 欧美少妇网站| 欧美日韩免费看| 亚洲区第一页| 在线视频中文字幕第一页| 国产午夜精品一区二区三区视频 | 黑料吃瓜在线观看| 欧美1区2区3区4区| 成a人片在线观看www视频| 欧美日韩国产精品一区二区三区四区| 亚洲视频狠狠| 性欧美1819sex性高清| 亚洲人高潮女人毛茸茸| 久久综合丝袜日本网| 国产一区二区三区朝在线观看| 欧美精品 日韩| 日本免费一区二区三区等视频| 国产.com| 一区二区三区丝袜| 久久精品免费一区二区三区| 欧美日韩国产一中文字不卡| 国产高清一区在线观看| 国内久久视频| 在线免费福利| 美洲天堂一区二卡三卡四卡视频| 欧美日韩国产系列| 黄色小说综合网站| 欧美日韩国内| 久久在线播放| 图片区小说区区亚洲影院| 国产小视频在线| 777午夜精品免费视频| 国产欧美精品一区aⅴ影院| 韩日精品视频| 欧州一区二区三区| 巨大荫蒂视频欧美大片| 日本亚洲欧美| 亚洲1区2区3区4区| 欧美激情一区二区三区不卡 | 亚洲永久免费av| 国产亚洲一区在线| 素人啪啪色综合| 欧美日韩一区 二区 三区 久久精品| 国产日韩欧美一区在线| www.久久草.com| 国产福利在线视频| 69堂精品视频| 亚洲日本欧美天堂| 国产一区亚洲| 一二三区在线观看| 久久综合九色综合97婷婷女人 | 黄色在线论坛| 一区二区三区视频国产日韩| 精品国产免费人成电影在线观看四季 | 亚洲色图制服诱惑| 青椒成人免费视频| 欧美一级二级三级视频| 欧美xxxhd| 久蕉依人在线视频| 黄色一级片视频| 日韩欧美中文免费| 久久久精品国产免费观看同学| 欧美亚洲三区| 日韩专区精品| 欧美三级一区| 国产婷婷视频在线| 天堂成人在线| 欧美丰满一区二区免费视频| 亚洲www啪成人一区二区麻豆| 成人av先锋影音| 国产精品亚洲综合久久| 欧美日韩看看2015永久免费| www成人在线视频| 在线播放av更多|