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

Python使用自定義裝飾器的示例詳解

 更新時間:2022年11月16日 11:55:07   作者:城中月  
在Python自動化測試中,可以使用自定義的裝飾器來給測試方法傳遞測試數(shù)據(jù)。本文將通過簡單的示例和大家介紹下具體的使用方法,希望對大家有所幫助

在Python自動化測試中,使用自定義的裝飾器來給測試方法傳遞測試數(shù)據(jù):

reader.py

import csv
import json

from openpyxl import load_workbook


from setting import DATA_DIR
from os import path

class Reader:
    @classmethod
    def read_excel(cls,xlname, min_row, max_row, min_col, max_col):
        xlname = path.join(DATA_DIR,xlname)
        data = []
        wb = load_workbook(xlname)
        ws = wb.active

        # 將選中區(qū)域轉(zhuǎn)換為列表
        ls = list(ws.iter_rows(min_row=min_row, max_row=max_row, min_col=min_col, max_col=max_col))
        wb.save(xlname)

        for row in ls:
            data_row = []
            for col in row:
                data_row.append(col.value)
            data.append(data_row)

        wb.save(xlname)
        return data

    @classmethod
    def read_csv(cls, filename):
        file_name = path.join(DATA_DIR,filename)
        ls  = None
        with open(file=file_name,mode='r',encoding='utf-8') as f:
            ls = list(csv.reader(f))
        return ls

my_decorator.py

def my_decorator(sequeence):
    def outer(func):
        def inner(self):
            for item in sequeence:
                try:
                    func(self,*item)
                except Exception:
                    # print()僅供調(diào)試用,后期考慮將出錯日志寫入數(shù)據(jù)庫
                    print('測試有問題')
                else:# print()僅供調(diào)試用,后期考慮將通過日志寫入數(shù)據(jù)庫
                    print('測試通過')
        return inner
    return outer

data.csv

admin,1
wp,1
666666,1
msramsrsa,0

find_test.py

import time
import unittest
from parameterized import parameterized

from pages.page_login import PageLogin
from pages.page_system_operate_log import PageSystemOperateLog
from utils.decorate import my_decorator
from utils.driver import WebDriver
from utils.reader import Reader

class SysOperateLogFindPageTest(unittest.TestCase):
    '''
    系統(tǒng)操作日志頁面測試類:執(zhí)行系統(tǒng)操作日志頁面的UI測試
    作者:awake.silent@qq.com
    '''
    @my_decorator(Reader.read_csv('search_log_by_username.csv'))
    def test_search_log_by_username(self, username, expect):
        '''
        對系統(tǒng)操作日志頁面的按照賬號搜索日志功能進(jìn)行UI測試
        :param username: 賬號
        :param expect: 期望結(jié)果,'0‘代表搜索不到日志記錄,'1‘代表可以搜索到日志記錄
        :return:
        '''


        # 打開系統(tǒng)操作日志頁面
        self.psol.open()
        time.sleep(2)
        # 輸入賬號并點(diǎn)擊搜索
        self.psol.do_search(username)
        time.sleep(2)
        # 獲取搜索結(jié)果
        result = self.psol.get_search_result()

        # 進(jìn)行斷言
        if expect == '0':
            self.assertEqual(0,len(result))
        else:
            self.assertNotEqual(0,len(result))
            for item in result:
                self.assertEqual(username, item.text)

到此這篇關(guān)于Python使用自定義裝飾器的示例詳解的文章就介紹到這了,更多相關(guān)Python自定義裝飾器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python點(diǎn)云地面點(diǎn)濾波(Progressive Morphological Filter)算法介紹(PCL庫)

    python點(diǎn)云地面點(diǎn)濾波(Progressive Morphological Filter)算法介紹(PCL庫)

    這篇文章主要介紹了python點(diǎn)云地面點(diǎn)濾波(Progressive Morphological Filter)算法介紹(PCL庫),了解膨脹/腐蝕這兩個基礎(chǔ)操作,可以通過對其進(jìn)行簡單組合來形成開/閉操作,需要的朋友可以參考下
    2021-08-08
  • Python 的第三方調(diào)試庫 ???pysnooper?? 使用示例

    Python 的第三方調(diào)試庫 ???pysnooper?? 使用示例

    這篇文章主要介紹了Python 的第三方調(diào)試庫 ???pysnooper?? 使用示例的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Python使用selenium + headless chrome獲取網(wǎng)頁內(nèi)容的方法示例

    Python使用selenium + headless chrome獲取網(wǎng)頁內(nèi)容的方法示例

    這篇文章主要介紹了Python使用selenium + headless chrome獲取網(wǎng)頁內(nèi)容的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python操作MySQL簡單實(shí)現(xiàn)方法

    Python操作MySQL簡單實(shí)現(xiàn)方法

    這篇文章主要介紹了Python操作MySQL簡單實(shí)現(xiàn)方法,通過一個簡單的實(shí)例講述了Python針對mysql數(shù)據(jù)庫的增刪改查技巧,需要的朋友可以參考下
    2015-01-01
  • python+pytest接口自動化之session會話保持的實(shí)現(xiàn)

    python+pytest接口自動化之session會話保持的實(shí)現(xiàn)

    在接口測試的過程中,經(jīng)常會遇到有些接口需要在登錄的狀態(tài)下才能請求,本文主要介紹了python+pytest接口自動化之session會話保持的實(shí)現(xiàn),感興趣的可以了解一下
    2022-06-06
  • OpenCV半小時掌握基本操作之濾波器

    OpenCV半小時掌握基本操作之濾波器

    這篇文章主要介紹了OpenCV基本操作之濾波器,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • python迭代器與生成器詳解

    python迭代器與生成器詳解

    迭代器和生成器都是Python中特有的概念,迭代器可以看作是一個特殊的對象,每次調(diào)用該對象時會返回自身的下一個元素,從實(shí)現(xiàn)上來看,一個可迭代的對象必須是定義了__iter__()方法的對象,而一個迭代器必須是定義了__iter__()方法和next()方法的對象。
    2016-03-03
  • python內(nèi)置函數(shù)globals()的實(shí)現(xiàn)代碼

    python內(nèi)置函數(shù)globals()的實(shí)現(xiàn)代碼

    本文主要介紹了python內(nèi)置函數(shù)globals()的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Pygame實(shí)現(xiàn)游戲最小系統(tǒng)功能詳解

    Pygame實(shí)現(xiàn)游戲最小系統(tǒng)功能詳解

    這篇文章主要介紹了Pygame實(shí)現(xiàn)游戲最小系統(tǒng),Pygame是一個專門用來開發(fā)游戲的 Python 模塊,主要為開發(fā)、設(shè)計 2D 電子游戲而生,具有免費(fèi)、開源,支持多種操作系統(tǒng),具有良好的跨平臺性等優(yōu)點(diǎn)
    2022-11-11
  • Python完美還原超級瑪麗游戲附代碼與視頻

    Python完美還原超級瑪麗游戲附代碼與視頻

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python實(shí)現(xiàn)超級瑪麗,90后的回憶老游戲,快來看戴帽子的大胡子穿著背帶褲的馬里奧
    2021-11-11

最新評論

凤城市| 仪征市| 寿宁县| 大洼县| 平凉市| 嘉兴市| 建德市| 新乐市| 伊金霍洛旗| 宜城市| 夏津县| 东明县| 门源| 新营市| 南华县| 密云县| 北海市| 彰武县| 封开县| 阳城县| 南阳市| 阿克苏市| 平凉市| 巴林右旗| 高唐县| 陆丰市| 会理县| 石河子市| 桐庐县| 诏安县| 京山县| 荣昌县| 深泽县| 屏东市| 永胜县| 张掖市| 丰原市| 葵青区| 德庆县| 徐州市| 晋城|