<tbody id="86a2i"></tbody>


<dd id="86a2i"></dd>
<progress id="86a2i"><track id="86a2i"></track></progress>

<dd id="86a2i"></dd>
<em id="86a2i"><ruby id="86a2i"><u id="86a2i"></u></ruby></em>

    <dd id="86a2i"></dd>

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

    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
    
            # 將選中區域轉換為列表
            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()僅供調試用,后期考慮將出錯日志寫入數據庫
                        print('測試有問題')
                    else:# print()僅供調試用,后期考慮將通過日志寫入數據庫
                        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):
        '''
        系統操作日志頁面測試類:執行系統操作日志頁面的UI測試
        作者:awake.silent@qq.com
        '''
        @my_decorator(Reader.read_csv('search_log_by_username.csv'))
        def test_search_log_by_username(self, username, expect):
            '''
            對系統操作日志頁面的按照賬號搜索日志功能進行UI測試
            :param username: 賬號
            :param expect: 期望結果,'0‘代表搜索不到日志記錄,'1‘代表可以搜索到日志記錄
            :return:
            '''
    
    
            # 打開系統操作日志頁面
            self.psol.open()
            time.sleep(2)
            # 輸入賬號并點擊搜索
            self.psol.do_search(username)
            time.sleep(2)
            # 獲取搜索結果
            result = self.psol.get_search_result()
    
            # 進行斷言
            if expect == '0':
                self.assertEqual(0,len(result))
            else:
                self.assertNotEqual(0,len(result))
                for item in result:
                    self.assertEqual(username, item.text)
    原文地址:https://segmentfault.com/a/1190000042806706

    相關文章:

    免费一级a片在线播放视频|亚洲娇小性XXXX色|曰本无码毛片道毛片视频清|亚洲一级a片视频免费观看
    <tbody id="86a2i"></tbody>

    
    
    <dd id="86a2i"></dd>
    <progress id="86a2i"><track id="86a2i"></track></progress>

    <dd id="86a2i"></dd>
    <em id="86a2i"><ruby id="86a2i"><u id="86a2i"></u></ruby></em>

      <dd id="86a2i"></dd>