# app自动化框架 **Repository Path**: tianxiang2018/app-automation-framework ## Basic Information - **Project Name**: app自动化框架 - **Description**: 安卓app功能自动化测试框架,主要用来对安卓手机中安装的app进行功能自动化测试。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 4 - **Created**: 2022-02-24 - **Last Updated**: 2024-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 安卓app功能自动化框架介绍 1. 安卓系统中的app进行功能自动化测试,测试用例执行后生成.html格式测试报告,测试报告通过邮件方式发生到指定人员邮箱中。 1. 用例执行成功或者失败时会进行截图保存,默认只保存最新10日测试报告和截图数据,该参数可以通过settings.py进行配置; 1. 实现了数据驱动测试,通过在database目录中定义文本文件为测试用例提供动态参数; ### 项目计划 - 1.0版 ### 软件架构 - unittest + uiautomator2 + HTMLTestRunner - unittest单元框架来管理测试用例,进行断言。 - HTMLTestRunner来生成测试报告; - uiautomator2对安卓移动设备进行各种操作; ### 目录结构: 1. 采用分层架构,将相关操作放到不同目录中定义对应模块进行处理。 1. testsuite测试用例集目录,用来管理测试用例; 1. handled目录用来处理业务逻辑; 1. page目录用来处理app页面中的元素定位等操作; 1. base目录中封装对移动设备&app常用操作功能,page目录中模块可以进行继承; 1. report测试报告目录 1. logs日志目录 1. database目录动态参数化 1. start.py入口模块。 ### 各目录功能简介 testsuite目录: 1. 目录中测试用例模块必须以_test.py格式命名,用例执行顺序遵循ASSIC码排序; 1. 用例类通过继承unittest.TestCase来完成,调用handled业务逻辑中对应模块返回的值进行断言; handled业务逻辑处理目录: 1. 每个测试用例文件对应一个业务逻辑处理.py文件; 1. 业务处理.py文件对象中封装预期值,方法中调用page目录中.py文件中定义的方法,获取操作具体页面后返回的结果; 1. 根据具体需求决定是否对page目录中返回结果进行逻辑处理,将预期值和结果值返回给testsuite测试用例集; page操作页面元素目录: 1. 该目录中py文件定义页面定位元素表达式,被测页面改变后统一在该目录对应的.py文件中修改定位表达式; 1. app页面元素定位及操作、监控器方法等功能,获取页面值返回到handled目录对应模块中。 base目录: - 实例化移动设备对象,封装截图、滑动屏幕功能; conf配置文件目录settings.py文件: - 日志、路径配置、被测站点的默认配置信息等 report测试报告目录 - 默认只保存最新10日测试报告,通过settings.py可修改默认值; screenshots截图目录 - 默认只保存最新10日成功和失败的截图,具体截图需求page目录中.py文件中定义逻辑 logs日志目录 scripts写调试代码 database目录 - 数据驱动,通过定义txt、excel等文件为测试用例提供动态参数;