我的自动化测试框架

【参考】: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


猜你喜欢

转载自blog.csdn.net/freezing12/article/details/79845579
今日推荐