国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價值的文章主要介紹了領導看了給你加薪!python +ddt+excel 一招鮮,接口自動化測試輕松搞定,測試報告驚艷四座!。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

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

如何用 python +ddt+excel 實現(xiàn)接口自動化測試

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

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

一、準備工作

1. 安裝 python 環(huán)境

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

2. 安裝相關庫

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

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

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

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

  • ddt:用來實現(xiàn)數(shù)據(jù)驅動測試,可以從 excel 文件中讀取多組數(shù)據(jù),并生成多個測試用例。

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

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

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

pip install requests

二、設計測試

1. 編寫 excel 文件

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

  • 接口名稱

  • 請求地址

  • 請求方法

  • 請求參數(shù)

  • 預期結果

例如:

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

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

2. 封裝 excel 操作

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

  • 打開表單

  • 獲取表頭

  • 獲取所有數(shù)據(jù)

  • 寫入數(shù)據(jù)

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

from openpyxl import load_workbook
from openpyxl.worksheet.worksheet import Worksheet

class ExcelHandler():
    '''操作Excel'''
    def __init__(self, file):
        '''初始化函數(shù)'''
        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):
        '''讀取除表頭外所有數(shù)據(jù)(除第一行外的所有數(shù)據(jù))'''
        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):
 ? ? ? ?'''獲取所有數(shù)據(jù),將表頭與內(nèi)容結合整....'''????????????????...
 ? ? ? ?return data

3. 封裝 requests 請求

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

  • 初始化 session

  • 發(fā)送請求

  • 關閉 session

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

import requests

class 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()

三、執(zhí)行測試

1. 編寫測試用例

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

  • 導入相關庫和模塊

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

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

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

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

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

from Lib.excel_handler import ExcelHandler
from Lib.requests_handler import HTTPHandler
import requests
import ddt
import unittest

data = ExcelHandler('test_datas/test_data.xlsx').read_key_value('Sheet1')

@ddt.ddt
class 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('請求參數(shù)')) if isinstance(params.get('請求參數(shù)'), str) else params.get('請求參數(shù)')
        method = params.get('請求方法')
        expct_res1 = params.get('預期結果')
        
        # 發(fā)起請求,獲取返回數(shù)據(jù)
        result = self.s.visit(url, method, params=args)

        # 分析返回數(shù)據(jù)
        response_data = result['name']

        
        # 斷言響應結果是否符合預期
        self.assertEqual(expct_res1, response_data)

    @classmethod
    def tearDownClass(cls):
       cls.s.close_session()

2. 生成測試報告

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

  • 導入相關庫和模塊

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

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

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

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

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

import unittest
from HTMLTestRunner_api import HTMLTestRunner
from test_cases.test_api import TestAPI

# 定義一個測試套件
suite = unittest.TestSuite()
# 添加測試用例
suite.addTest(unittest.makeSuite(TestAPI))

# 定義一個測試報告的文件名和路徑
report_file = 'reports/test_report.html'

# 定義一個測試運行器,傳入測試報告的文件對象和相關參數(shù)
with open(report_file, 'wb') as f:
    runner = HTMLTestRunner(f, title='接口自動化測試報告', description='用例執(zhí)行情況')
    # 使用測試運行器來運行測試套件
    runner.run(suite)

四、查看結果

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

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

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

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

?

總結

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

我的公眾號:百態(tài)測試

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

我會不定期地分享更多的精彩內(nèi)容。感謝你的閱讀和支持!文章來源地址http://www.zghlxwxcb.cn/news/detail-482210.html

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

總結

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

我的公眾號:百態(tài)測試

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

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

到了這里,關于領導看了給你加薪!python +ddt+excel 一招鮮,接口自動化測試輕松搞定,測試報告驚艷四座!的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 從0開始python學習-52.pytest之ddt數(shù)據(jù)封裝

    1. 判斷是否為ddt數(shù)據(jù) 2.?處理數(shù)據(jù) 3. yaml用例中設置和使用數(shù)據(jù)

    2024年01月21日
    瀏覽(21)
  • python+pytest+selenium+PO+allure+DDT實現(xiàn)web自動化測試

    python+pytest+selenium+PO+allure+DDT實現(xiàn)web自動化測試

    python:編程語言 pytest:獨立的、全功能的python單元測試框架 selenium:用于web應用程序測試的工具 allure:測試報告展示 ddt:數(shù)據(jù)驅動 1.1 python解釋器 3.10版本 1.2 pycharm集成開發(fā)環(huán)境 社區(qū)版 下載瀏覽器驅動,瀏覽器驅動版本要與瀏覽器版本一致。 下載地址: Chrome:http://npm.ta

    2024年02月02日
    瀏覽(100)
  • Python中selenium的玩法,小朋友看了都說學會了

    Python中selenium的玩法,小朋友看了都說學會了

    selenium提取數(shù)據(jù) 1. driver對象的常用屬性和方法 2. driver對象定位標簽元素獲取標簽對象的方法 3. 標簽對象提取文本內(nèi)容和屬性值 selenium的其它使用方法 1. selenium標簽頁的切換 2. switch_to切換frame標簽 3. selenium對cookie的處理 4. selenium控制瀏覽器執(zhí)行js代碼 5. 頁面等待 6. selenium開啟

    2024年04月14日
    瀏覽(37)
  • 10min 學會Python 文件操作,我只看了這一篇文章

    10min 學會Python 文件操作,我只看了這一篇文章

    平時,生活中我們見到的電影(MP4)、歌曲(MP3)、圖片(JPG)、文本(txt)、表格(xlsx)…都可以被稱為 文件。 這些文件的格式和文件里面的內(nèi)容可能不同,但是他們有一個 共同特點: 數(shù)據(jù)都是保存在硬盤上的!??! 馮諾依曼體系: CPU(運算器和控制器)、存儲器、輸

    2023年04月08日
    瀏覽(26)
  • python卸載方法(教你一招干干凈凈卸載Python

    python卸載方法(教你一招干干凈凈卸載Python

    是認真的。我們在寫怎么從hello world開始你的python之旅,本篇是說卸載python安裝版,不是放棄python哦。 為什么要卸載 有的版本太舊。python3一改python2的舊習,成了名副其實的“版本帝”。 原有的python版本,能在現(xiàn)有基礎上升級嗎? 本地計算機裝了python版本,配置了PATH環(huán)境。

    2024年01月17日
    瀏覽(26)
  • 教你一招,為Python屬性添加安全保護機制

    教你一招,為Python屬性添加安全保護機制

    ????????在Python中,屬性是類的重要組成部分之一。屬性可以用于存儲和獲取對象的狀態(tài)信息,但有時我們希望對屬性進行安全保護,避免誤操作或者不合法的訪問。本文將介紹如何使用Python為屬性添加安全保護機制。 1. 使用屬性裝飾器 ??????? ?Python提供了屬性裝飾

    2024年02月21日
    瀏覽(29)
  • 【C++/Python】Windows用Swig實現(xiàn)C++調(diào)用Python(史上最簡單詳細,80歲看了都會操作)

    【C++/Python】Windows用Swig實現(xiàn)C++調(diào)用Python(史上最簡單詳細,80歲看了都會操作)

    ??博__主??:米碼收割機 ??技__能??:C++/Python語言 ??公眾號??:測試開發(fā)自動化【獲取源碼+商業(yè)合作】 ??榮__譽??:阿里云博客專家博主、51CTO技術博主 ??專__注??:專注主流機器人、人工智能等相關領域的開發(fā)、測試技術。 官網(wǎng)下載SWIG并解壓。官網(wǎng)[傳送門] 將SW

    2024年02月07日
    瀏覽(27)
  • python | 將pdf文件轉換為圖片,這一招就夠了

    python | 將pdf文件轉換為圖片,這一招就夠了

    部分情況下,需要將 PDF 頁面轉換為圖片,例如 PNG 或 JPEG 格式。 python 的開源庫 pdfplumber,提供了將 pdf 文件轉換為圖片的方法。 如果之前還沒有安裝和使用過pdfplumber庫,pdfplumber的安裝及基礎使用,可參考往期文章: pdfplumber安裝、導入及基礎使用方法 pdfplumber 提供的方法:

    2024年02月07日
    瀏覽(26)
  • 面試ES加薪

    面試ES加薪

    1、elasticsearch的倒排索引是什么 面試官 :想了解你對基礎概念的認知。 通俗解釋一下就可以。 傳統(tǒng)的我們的檢索是通過文章,逐個遍歷找到對應的位置。 而倒排索引,是通過分詞策略,形成了詞和文章的映射關系表,這種詞典+映射表即為倒排索引。 有了倒排索引,

    2024年02月02日
    瀏覽(20)
  • 用Python獲得女友聊天記錄,一招解決疑神疑鬼

    用Python獲得女友聊天記錄,一招解決疑神疑鬼

    就在前段時間,在大學睡我上鋪的兄弟,在兄嘚群里討論,說:他發(fā)現(xiàn)女朋友這幾天只要下班就坐在電腦前,不是工作原因。而且只要他靠近一點就會立即退出頁面,所以他一直很懷疑,在群里問我們這一個個單身狗。然后就出現(xiàn)下面這一段對話。 A朋友:你直接問。 B朋友:

    2023年04月14日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包