![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/bcf3f82cae4443c09fe64a73183b27bd.png#pic_center
框架设计思路
框架采用U2+unittest+HTMLTestRunner、ios采用wda
单例模式的运用
UI自动化分层思想:1.PageObject设计模式 2.业务流程封装
测试数据的准备:1.调用API创建测试数据 2.接入MOCK服务能力
UI自动化测试报告:1.失败case自动截图 2.保存服务端日志
UI自动化稳定性的关键技术:1.失败重试 2.异常场景恢复模式 3.元素模糊匹配
UI自动化执行效率的提升
引入图像识别、文字识别(提升图像识别准确率)
设计思想:
封装思想(PageObject)
用例设计思想(元素、操作、用例)
减少重复代码,能封装尽量去封装,方法名尽量易读懂
每个方法名进入前都要有条件
每个case执行完都要销毁当前的状态
日志只打印核心链路
文件命名、方法命名采用下划线方式,类名采用驼峰方式
产品拆解:应用 -> 模块 - > 页面
验证功能:断言越细越好且有效
设备管理
运行框架时,会自动检测设备是否在线、空闲等问题;当设备处于空闲时,占用设备并开始运行,运行结束后释放设备
支持多进程执行
模块划分
父级目录参考 03业务模块划分
子级目录参考PageObject设计模式,以test_xxx开头
新建py文件时,表头格式如下
#!/usr/bin/python3
#-*- coding: utf-8 -*-
"""
@File : mock_web.py
@Author : lihui
@Date : 2022/9/26 11:34 AM
@Desc :
"""
case规范(test开头,数字结尾、注释必须简洁明了、断言必须有效)
def test_001(self):
"""check滑动地图底图&归位功能"""
# 业务逻辑
xxx
# 断言
Judge.passIf(self, result, MyTest.test_001.__doc__)