【参考】:https://blog.youkuaiyun.com/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