# WebUIAutomatedTestFramework **Repository Path**: xmlgrg/WebUIAutomatedTestFramework ## Basic Information - **Project Name**: WebUIAutomatedTestFramework - **Description**: PC端Web站点进行ui自动化测试,测试完成后生成.html格式的测试报告,将测试报告通过邮件方式发送到指定人员。 用例执行成功或者失败时会进行截图保存,默认只保存最新10日测试报告和截图数据,该参数可以通过settings.py进行配置。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-06-15 - **Last Updated**: 2022-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **WebUIAutomatedTestFramework介绍** - PC端Web站点进行ui自动化测试,测试完成后生成.html格式的测试报告,将测试报告通过邮件方式发送到指定人员; - 用例执行成功或者失败时会进行截图保存,默认只保存最新10日测试报告和截图数据,该参数可以通过settings.py进行配置; - 实现了数据驱动测试,通过在database目录中定义文本文件为测试用例提供动态参数; **项目计划** - 1.1版将实现数据驱动测试,通过读取Excel、json文件来为测试用例提供动态参数; - 2.0通过mysql来实现数据驱动、如:图片、标题、描述、用户名等通过读取数据库获取; **软件架构** - 使用unittest单元框架来管理测试用例,进行断言。使用HTMLTestRunner来生成测试报告; - 采用分层架构,将相关操作放到不同目录中定义对应模块进行处理。 1. start.py入口模块。 2. testsuite测试用例目录: - 基本原则是将被测试web站点每个页面都定义单独_test.py结尾的测试用例文件,在用例文件中编写该页面上每个功能点测试用例; - 目录中测试用例文件执行顺序遵循ASSIC码排序; - 该目录中放测试用例文件,该文件必须以_test.py结尾。 - 测试用例文件中,通过unittest单元测试框架来编写测试用例,用例方法中只需要调用handled目录下对应业务逻辑处理方法,获取返回值,进行断言即可。 3. handled业务逻辑处理目录: - 每个测试用例文件对应一个业务逻辑处理.py文件; - 业务处理.py文件对象中封装预期值,方法中调用page目录中.py文件中定义的方法,获取操作具体页面后返回的结果; - 根据具体需求决定是否对page目录中返回结果进行逻辑处理,将预期值和结果值返回给testsuite测试用例集; 4. page操作页面元素目录: - 该目录中py文件定义页面定位元素表达式,被测页面改变后统一在该目录对应的.py文件中修改定位表达式; - 将页面定位元素传递到base目录中base_page.py中函数进行处理,获取处理完成后的selenium对象后再进行操作; - 为handled目录中业务逻辑提供返回值,获取页面上定位元素表达式,传递给base目录中base_page.py中webdriver对象封装的方法进行html元素操作; 5. base目录: - 实例化Chrome浏览器的webdriver对象,将webdriver对象中所有方法进行封装。page目录中.py文件进行调用。 6. conf配置文件目录settings.py文件: - 日志、路径配置、被测站点的默认配置信息等 7. report测试报告目录 - 默认只保存最新10日测试报告,通过settings.py可修改默认值; 8. screenshots截图目录 - 默认只保存最新10日成功和失败的截图,具体截图需求page目录中.py文件中定义逻辑 9. logs日志目录 10. scripts写调试代码 11. database目录 - 数据驱动,通过定义txt、excel等文件为测试用例提供动态参数;