1、设计思路
- PageObject设计模式对UI及测试进行封装
- PO改进
- 测试数据的数据驱动
- 数据步骤的数据驱动
- 自动化异常处理机制
- Pytest单元测试
2、PageObject改进
3、测试步骤的数据驱动
核心思想:
- 对测试步骤进行封装
- 利用yaml编写测试用例
意义:
- 提高测试代码的编写效率
- 异常排查效率高
- 代码可维护性高
4、测试数据的数据驱动
核心思想:
- 对部分数据进行参数化
- 把参数化的数据放入yaml,json等文件
意义:
- 提高数据的维护性
- 让数据百年的规范
- 可对数据备份
Yaml格式:
- -
- -‘a’
- -‘b’
- -
- -‘c’
- -‘d’
5、yaml解析
@pytest.mark.parametrize("value1, value2", \
yaml.safe_load(open("../data/seachdata.yml")))
def test_value(self,value1,value2):
6、配置的数据驱动
# configuration.yaml
caps:
udid: emluator
# *.py
caps['udid'] = yaml.safe_load(open("configuration.yaml"))['caps']['udid']
7、通用Page封装
核心思想:
- 将公共操作放入page_object
- Page_object只存放公共操作
如:
- find
- click
8、自动化异常处理机制
- 弹窗请求
- 弹窗广告
- 弹窗好评
解决思路:
- 利用try catch捕获异常
- 异常处理弹窗
- 用黑名单
9、通用测试用例封装
测试用例问题
- 重复项太多
- 需要不停的初始化
解决思路
- 使用TestBase封装通用的测试用例
- 使用Fixture
TestBase