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

從0開(kāi)始python學(xué)習(xí)-52.pytest之ddt數(shù)據(jù)封裝

這篇具有很好參考價(jià)值的文章主要介紹了從0開(kāi)始python學(xué)習(xí)-52.pytest之ddt數(shù)據(jù)封裝。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1. 判斷是否為ddt數(shù)據(jù)

def read_testcase(yaml_path):
    with open(yaml_path,encoding="utf-8") as f:
        case_list = yaml.safe_load(f)
        if "parametrize" in dict(*case_list).keys(): # 讀取出來(lái)的yaml用例帶有parametrize就說(shuō)明是ddt用例,格式為:[{}]
            new_caseinfo = ddt(*case_list)
            return new_caseinfo # 將數(shù)據(jù)解包后,返回格式為:[{},{}]
        else:
            return case_list

2.?處理數(shù)據(jù)

def ddt(caseinfo:dict):
    data_list = caseinfo["parametrize"] # 獲取到caseinfo下的parametrize數(shù)據(jù)
    len_flag = True # 設(shè)置一個(gè)判斷指標(biāo)
    name_len = len(data_list[0])  # 獲取參數(shù)的長(zhǎng)度,即有幾個(gè)參數(shù)
    for data in data_list:
        if len(data) != name_len: # 判斷獲取到的所有的參數(shù)長(zhǎng)度是否與name_len一致,不一致直接結(jié)束
            len_flag = False
            print("parametrize數(shù)據(jù)長(zhǎng)度不一致")
            break

    # 將caseinfo轉(zhuǎn)為str類型方便后續(xù)操作
    str_caseinfo = yaml.dump(caseinfo)
    new_caseinfo = []
    if len_flag: # 當(dāng)長(zhǎng)度一致時(shí),進(jìn)行后續(xù)操作
        for x in range(1,len(data_list)): # 從下標(biāo)為1開(kāi)始取行數(shù)據(jù),即排除數(shù)據(jù)名稱行后的就是用例數(shù)據(jù)行
            raw_caseinfo = str_caseinfo
            for y in range(0,name_len): # 從下標(biāo)為0開(kāi)始取列數(shù)據(jù),即長(zhǎng)度有多少就去多少列
                # 處理數(shù)字類型的字符串?dāng)?shù)據(jù)
                if isinstance(data_list[x][y],str) and data_list[x][y].isdigit():
                    data_list[x][y] = "'" + data_list[x][y] + "'" # 轉(zhuǎn)為字符串類型的數(shù)字
                raw_caseinfo = raw_caseinfo.replace("$ddt{"+data_list[0][y]+"}",str(data_list[x][y])) # 將獲取到的數(shù)據(jù)寫入
            case_list = yaml.safe_load(raw_caseinfo) # 再次進(jìn)行數(shù)據(jù)轉(zhuǎn)換回list
            case_list.pop("parametrize")
            new_caseinfo.append(case_list)
    return new_caseinfo

3. yaml用例中設(shè)置和使用數(shù)據(jù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-813170.html

-
  feature: 測(cè)試模塊4
  story: 測(cè)試接口4
  title: 驗(yàn)證測(cè)試接口4正常返回
  request:
    method: post
    url: http://192.168.0.1/phpwind/index.php?m=u&c=login&a=dorun
    data:
      username: $ddt{username}
      password:  $ddt{password}
  parametrize:
    - [ "username","password" ]
    - [ "ces1","123" ]
    - [ "ces2",123 ]
    - [ "ces","ces" ]

到了這里,關(guān)于從0開(kāi)始python學(xué)習(xí)-52.pytest之ddt數(shù)據(jù)封裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Java】學(xué)習(xí)一門開(kāi)發(fā)語(yǔ)言,從TA的Hello World開(kāi)始

    【Java】學(xué)習(xí)一門開(kāi)發(fā)語(yǔ)言,從TA的Hello World開(kāi)始

    歡迎來(lái)到《小5講堂》 大家好,我是全棧小5。 這是《Java》序列文章,每篇文章將以博主理解的角度展開(kāi)講解, 特別是針對(duì)知識(shí)點(diǎn)的概念進(jìn)行敘說(shuō),大部分文章將會(huì)對(duì)這些概念進(jìn)行實(shí)際例子驗(yàn)證,以此達(dá)到加深對(duì)知識(shí)點(diǎn)的理解和掌握。 溫馨提示:博主能力有限,理解水平有限

    2024年01月23日
    瀏覽(24)
  • 【Java】十年老司機(jī)轉(zhuǎn)開(kāi)發(fā)語(yǔ)言,新小白從學(xué)習(xí)路線圖開(kāi)始

    【Java】十年老司機(jī)轉(zhuǎn)開(kāi)發(fā)語(yǔ)言,新小白從學(xué)習(xí)路線圖開(kāi)始

    歡迎來(lái)到《小5講堂》 大家好,我是全棧小5。 這是《Java》序列文章,每篇文章將以博主理解的角度展開(kāi)講解, 特別是針對(duì)知識(shí)點(diǎn)的概念進(jìn)行敘說(shuō),大部分文章將會(huì)對(duì)這些概念進(jìn)行實(shí)際例子驗(yàn)證,以此達(dá)到加深對(duì)知識(shí)點(diǎn)的理解和掌握。 溫馨提示:博主能力有限,理解水平有限

    2024年01月17日
    瀏覽(123)
  • Python+requests+pytest+allure封裝接口自動(dòng)化1-項(xiàng)目結(jié)構(gòu)目錄創(chuàng)建,requests庫(kù)封裝

    Python+requests+pytest+allure封裝接口自動(dòng)化1-項(xiàng)目結(jié)構(gòu)目錄創(chuàng)建,requests庫(kù)封裝

    api: 這是一個(gè)package,用來(lái)各個(gè)接口的類封裝,按照你的業(yè)務(wù)可以將其分為多個(gè)package common: 這是一個(gè)package,用來(lái)封裝底層公共方法,比如requests庫(kù)封裝、文件操作封 裝、加解密封裝、redis封裝、數(shù)據(jù)庫(kù)封裝、隨機(jī)數(shù)據(jù)封裝、日志封裝 testcases: 這是一個(gè)package,用來(lái)編寫封裝我們

    2024年02月12日
    瀏覽(120)
  • python+pytest接口自動(dòng)化之測(cè)試函數(shù)、測(cè)試類/測(cè)試方法的封裝

    python+pytest接口自動(dòng)化之測(cè)試函數(shù)、測(cè)試類/測(cè)試方法的封裝

    今天呢,筆者想和大家聊聊python+pytest接口自動(dòng)化中將代碼進(jìn)行封裝,只有將測(cè)試代碼進(jìn)行封裝,才能被測(cè)試框架識(shí)別執(zhí)行。 例如單個(gè)接口的請(qǐng)求代碼如下: 假設(shè)我們需要將上面這段代碼編寫成測(cè)試框架能執(zhí)行的測(cè)試用例,僅僅只是這樣寫代碼顯然是不夠的,還需要進(jìn)行如下

    2024年03月09日
    瀏覽(20)
  • 爆肝整理,Python自動(dòng)化測(cè)試-Pytest參數(shù)化實(shí)戰(zhàn)封裝,一篇打通...

    爆肝整理,Python自動(dòng)化測(cè)試-Pytest參數(shù)化實(shí)戰(zhàn)封裝,一篇打通...

    參數(shù)化? 通俗點(diǎn)理解就是,定義一個(gè)測(cè)試類或測(cè)試函數(shù),可以傳入不同測(cè)試用例對(duì)應(yīng)的參數(shù),從而執(zhí)行多個(gè)測(cè)試用例。 例如: 對(duì)登錄接口進(jìn)行測(cè)試,假設(shè)有3條用例,正確賬號(hào)正確密碼登錄、正確賬號(hào)錯(cuò)誤密碼登錄、錯(cuò)誤賬號(hào)正確密碼登錄,那么我們只需要定義一個(gè)登陸測(cè)試

    2024年02月13日
    瀏覽(26)
  • APP自動(dòng)化測(cè)試-Python+Appium+Pytest+Allure框架實(shí)戰(zhàn)封裝(詳細(xì))

    APP自動(dòng)化測(cè)試-Python+Appium+Pytest+Allure框架實(shí)戰(zhàn)封裝(詳細(xì))

    pytest只是單獨(dú)的一個(gè)單元測(cè)試框架,要完成app測(cè)試自動(dòng)化需要把pytest和appium進(jìn)行整合,同時(shí)利用allure完成測(cè)試報(bào)告的產(chǎn)出。 編寫常規(guī)的線性腳本具體的步驟如下: 1、設(shè)計(jì)待測(cè)試APP的自動(dòng)化測(cè)試用例 2、新建app測(cè)試項(xiàng)目 3、配置conftest.py文件等 4、編寫整體app測(cè)試用例運(yùn)行文件

    2024年02月14日
    瀏覽(17)
  • 【附源碼】完整版,Python+Selenium+Pytest+POM自動(dòng)化測(cè)試框架封裝

    【附源碼】完整版,Python+Selenium+Pytest+POM自動(dòng)化測(cè)試框架封裝

    1、測(cè)試框架簡(jiǎn)介 1)測(cè)試框架的優(yōu)點(diǎn) 代碼復(fù)用率高,如果不使用框架的話,代碼會(huì)顯得很冗余。 可以組裝日志、報(bào)告、郵件等一些高級(jí)功能。 提高元素等數(shù)據(jù)的可維護(hù)性,元素發(fā)生變化時(shí),只需要更新一下配置文件。 使用更靈活的PageObject設(shè)計(jì)模式。 2)測(cè)試框架的整體目錄

    2024年02月04日
    瀏覽(33)
  • Cadence Allegro 17.4學(xué)習(xí)記錄開(kāi)始04-制作封裝STM32為例

    Cadence Allegro 17.4學(xué)習(xí)記錄開(kāi)始04-制作封裝STM32為例

    根據(jù)元器件的規(guī)格書,找到封裝圖片,分析資料 制作焊盤需要記住管腳補(bǔ)償: 凡億的資料有介紹: 這個(gè)STM32的封裝有有個(gè)焊盤需要制作,都是表貼焊盤: 第一;選擇單位 第二:選擇焊盤種類和形狀 第三:設(shè)置正規(guī)則焊盤的大小,熱風(fēng)焊盤和隔離焊盤是負(fù)片層才使用的,可以

    2024年02月12日
    瀏覽(18)
  • Python_15 ddt驅(qū)動(dòng)與日志

    Python_15 ddt驅(qū)動(dòng)與日志

    一、查缺補(bǔ)漏 1. 在測(cè)試報(bào)告中添加注釋,寫在類名下面就行,方法名下面,三引號(hào) 2. 直接import ddt引用的時(shí)候需要ddt.ddt, ddt.data, ddt.unpack from ddt import ddt,data,unpackkeyi from會(huì)更好,引用的時(shí)候直接data就行 二、DDT數(shù)據(jù)驅(qū)動(dòng) 1. 數(shù)據(jù)驅(qū)動(dòng):將不同的數(shù)據(jù)在同一個(gè)業(yè)務(wù)邏輯上運(yùn)行,只需

    2024年02月02日
    瀏覽(23)
  • DDT數(shù)據(jù)驅(qū)動(dòng)

    DDT數(shù)據(jù)驅(qū)動(dòng)

    一、ddt簡(jiǎn)單介紹 ddt(Data Driver Tests)數(shù)據(jù)驅(qū)動(dòng)測(cè)試 二、使用ddt的好處 在設(shè)計(jì)用例的時(shí)候,有些用例只是參數(shù)數(shù)據(jù)的輸入不一樣,比如登錄這個(gè)功能,操作過(guò)程是一樣的。如果用例重復(fù)去寫操作過(guò)程會(huì)增加代碼量,對(duì)應(yīng)這種多組數(shù)據(jù)的測(cè)試用例,可以用數(shù)據(jù)驅(qū)動(dòng)設(shè)計(jì)模式,一

    2024年02月07日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包