# automated-test-framework-master **Repository Path**: liuyi1681688/automated-test-framework-master ## Basic Information - **Project Name**: automated-test-framework-master - **Description**: 框架主要使用了page_obje模式,对每个页面进行封装,需要操作时直接调用封装的方法,这样做的好处是如果页面发生变化,不需要去调整用例,只需要对封装的页面进行调整。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-29 - **Last Updated**: 2022-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: 测试工具, 测试开发 ## README # 设计思路 UI自动化测试框架基于python-selenium-unittest-HTMLTestRunner 互联网公司更新迭代比较快,版本发布频率较高,在每次上线之前要做一次整体的回归测试,所以留给测试人员的时间并没有很多, 实施UI自动化测试,构建到jenkins上进行周期的运行,提测后,或者上线前都会进行运行测试,保障每一次更新迭代功能不受影响。 框架主要使用了page_object模式,对每个页面进行封装,需要操作时直接调用封装的方法,这样做的好处是如果页面发生变化,不需要 去调整用例,只需要对封装的页面进行调整。 分模块管理,互不影响,随时组装,即拿即用。 #测试框架分层设计 把常见的操作和查找封装成基础类,不管是什么产品,可直接拿来复用 业务层主要是封装对象页面类,一个页面建一个类,业务层页面继承基础层 用例层针对产品页面功能进行构造摸拟执行测试 框架层提供基础组件,支撑整个流程执行及功能扩展,给用例层提供各页面的元素数据、用例测试数据,测试报告输出等 安装说明如下: ### **安装python** 下载地址如下: https://www.python.org/downloads/release/python-365/ 安装时记得勾选Add Python 3.6 to PATH ### **下载selenium第三方包** cmd命令行输入如下: Pip install selenium Pip install requests 或 进入到程序根目录运行: pip install -r requirements.txt ### **配置文件** 把driver目录下的浏览器驱动文件chromedriver文件和报表插件HTMLTestRunner_PY3.py放置在指定目录 chromedriver复制到chrome目录和path下,如C:\Program Files (x86)\Google\Chrome\Application chromedriver复制到python目录和path下,如D:\software\python36 HTMLTestRunner_PY3.py复制到python目录lib下,如C:\Python36\Lib 框架使用说明如下: ### **编写用例方法** 例如,我们要新增登录功能测试用例: 首先,在page_obj目录下新增一个loginPage.py文件,是用来封装登录页面对象类,执行登录测试流程操作; 然后,在test_case目录下创建测试用例文件A_login_case.py,采用测试业务代码驱动读取测试数据; 综上所述,编写用例方法只需要按以上两个个步骤创建->编写即可。 ### **测试结果展示** HTML报告日志 HTML报告点击截图,弹出截图 测试报告通过的日志 自动截图存放指定的目录 邮件测试报告 ### **脚本设计原则** 尽量用相对路径的xpath表达式; 查找元素优先用显示等待; 用例与用例之间尽量避免产生依赖,用例可以独立执行; 用例执行结束后对测试场景进行还原,避免影响其他用例的执行; 脚本执行失败后加入重试机制,提升用例的稳定性; 尽量保证单独的测试环境,避免其他的测试同步进行; ### **用例设计原则** UI自动化测试用例是从手工测试用例中提取出来的,跟手工测试用例相比,自动化测试用例更加注重用例的严谨性,选择用例的时候遵循以下原则: 优先选取覆盖产品核心功能的用例; 从成本考量,不要选择流程过于复杂的用例; 选取的用例可以是重复执行,繁琐的部分,比如字段验证、提示信息验证; 优先实现正向的测试用例,反向用例一般情况复杂、数量多; ### 更新说明 2022-04-14 1.测试报告文件调整为HTMLTestRunner_cn.py,请将文件放置在\\Python\Python36\Lib目录下 2.调整测试用例每个case文件启动一次浏览器(之前为每个用例启动一次) 3.通过正则获取图片验证码base64,用dddocr自动识别图片验证码 2022-04-20 1.调整每个case文件只需要第一条用例执行登陆即可,相同case下的其他用例取消登陆,增加运行速度。 2022-04-25 1.增加错误重试机制,当用例执行错误或者失败,则重新处理一次,取最后一次结果 2.增加报告发送邮件正文,编写html类型的邮件正文,MIMEtext()用于定义邮件正文