我的自動化測試框架

【參考】:https://blog.csdn.net/huilan_same/article/details/76572411

自動化測試框架基於Page Object模式,unittest框架設計,目錄結構如下:

Test_Project:

    | -- config:存放配置文件
    | -- data:存放頁面元素
    | -- drivers:存放瀏覽器驅動目錄
    | -- log: 存放日誌目錄
    | -- report:存放執行報告目錄,使用HTMLTestRunner
    | -- test:存放測試用例腳本
    | -- untils:存放公共方法

1、Config:

配置文件常用的ini、yaml、xml、properties、txt等,根據公司要求選擇適當配置文件類型,此處我們使用yaml。

首先我們要確定,配置文件中都需要存儲什麼內容呢?

對於自動化測試框架中,常用的配置文件都應該抽取出來定義,這樣如果有需要更改就很方便,比如URL、web瀏覽器

、日誌設置和格式、report設置和格式等,此時我剛開始搭建,只設置了URL和log:

# -*- coding: utf-8 -*-

URL : https://www.baidu.com

log:
     file_name: test.log
     backup: 5
     console_level: WARNING
     file_level: DEBUG
     pattern: '%(asctime)s-%(name)s-%(levelname)s: %(message)s'

yml日誌基本規則:

  • 大小寫敏感;
  • 使用縮進表示層級關係,縮進時不能使用tab;
  • 使用空格縮進,縮進的空格數目不重要,只要相同層架左對齊就好。

在python中使用yaml模塊讀取配置文件,返回一個字典;

在untils.file_reader.py中,添加yaml文件讀取方法:

class YamlReader:

    def __init__(self, yamlf):
        if os.path.exists(yamlf):
            self.yamlf = yamlf
        else:
            raise FileExistsError('yaml config file not exist !')
        self._data = None

    @property
    def data(self):
        if not self._data:
            with open(self.yamlf, 'rb') as f:
                self._data = list(yaml.safe_load_all(f))
        return self._data


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章