IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 基于selenium+Python3.7+yaml+Robot Framework的UI自动化测试框架 -> 正文阅读

[开发测试]基于selenium+Python3.7+yaml+Robot Framework的UI自动化测试框架

前端自动化测试框架

项目说明
本框架是一套基于selenium+Python3.7+yaml+Robot Framework而设计的数据驱动UI自动化测试框架,Robot Framework 作为执行器,本框架整体特点为:用例与代码分离;用例驱动测试的执行;分层设计、脚本模块化;自动准备测试条件和数据、事后清理;支持失败多次重试、且在每次重试前都会还原一次测试环境,保证重试的成功率;支持邮件呈现测试结果;可灵活挑选项目和用例执行。
框架特点说明
数据驱动
封装一个测试脚本,通过不同的数据来驱动,保证测试覆盖率
用例执行前初始化,执行后释放资源
执行测试数据,并进行结果判断,测试失败或者异常时,会产生相关日志和截图
用例与代码分离
代码中不含有测试用例
测试用例采用robot格式撰写
用例按功能点分类
每个用例都是独立的,不互相依赖也不互相影响
可按项目、模块、测试点挑选执行用例
运行结束后,还原测试环境,清理脏数据
分层设计
操作对象、页面元素、业务逻辑、测试数据相互剥离,灵活调用
封装底层操作组件
按页面封装和分类页面元素
封装基础逻辑,组合业务逻辑实现功能点
脚本模块化
不同功能脚本模块化,各模块间保持独立性和可融合性
封装基础方法,如随机邮箱等
封装通用模块,如文件读写、压缩文件、邮件发送、日志等
模块支持自主开启和关闭
失败多次重试
可自主开启和关闭失败自动重试功能
重试开始在每轮测试结束之后
每次重试前后会初始化环境和还原环境
只重试失败用例
每次重试结束会自动合并重试报告
重试结束会自动合并出总报告
报告可选择自动压缩并邮件发送
测试结束后,也可手动启动失败重试和合并报告
技术栈
selenium
Python3.7
Robot Framework
yaml
AutoItLibrary
logging
SSHLibrary
databaselibrary
环境部署
安装python3.7,并将Python的安装目录添加到系统环境变量的Path路径中
命令行窗口执行pip install -r requirements.txt 安装工程所依赖的库文件
AutoItLibrary安装
安装autoit-v3-setup.exe(V3.3.14.5),安装过程中一定要选x64,不然加载AutoItLibrary还是会是红色
pip install robotframework-autoitlibrary
在Python安装目录(\Python37\Lib\site-packages\win32com\client)下,修改dynamic.py文件,在import pythoncom后,加 pythoncom.CoInitialize() 。(目的是解决在ride中导入AutoItLibrary时,报(-2147221008, ‘尚未调用 CoInitialize。’, None, None)的错误。)
将相关浏览器的驱动,比如谷歌浏览器的驱动chromedriver.exe放在python的安装目录(\Python37)下
将自定义库,比如randomGenerator.py放在python目录(\Python37\Lib\site-packages)下
在Python安装目录(\Python37\Lib\site-packages\robotide\contrib\testrunner)下,修改testrunner.py文件,将’latin1’ if IS_WINDOWS修改为’mbcs’ if IS_WINDOWS。(目的是解决RIDE控制台中文显示乱码的问题),修改后的内容和位置具体如下:
在这里插入图片描述

安装UI元素定位工具(根据实际需要选装)

火狐浏览器插件
Try XPath
xPath Finder
ChroPath
谷歌浏览器插件
ChroPath

框架目录结构图及相关说明

1、代码目录结构图如下
在这里插入图片描述
2、目录结构说明
Config ===========> 配置文件
pycode ===========> python公共方法、模块封装,工具类等
rfcode ==========> 存放项目/系统的测试用例、公共配置、界面元素、业务逻辑操作等等
logs ==========> 日志文件
Report ==========> 测试报告
common_Run.py ===========> 测试用例总执行模块
testfile ============> 存放测试过程的操作文件
requirements.txt ============> 相关依赖包文件
run_test.bat =============> 测试启动按钮,测试过程中,若有失败则自动进行失败重试
retry.bat ============> 测试结束后,再次进行失败重试手动启动按钮

代码设计与功能说明

1、定义运行配置文件 config.yml
该文件主要控制测试的执行方式、模块的功能开关、测试用例的筛选、邮件的配置以及日志的配置,具体如下:
在这里插入图片描述
2、测试用例的设计
测试用例以robot格式的文件保存,平时只需维护测试数据和期望结果,维护成本低。测试用例的数据格式如下:
在这里插入图片描述
3、用例执行脚本
按照测试用例,组合业务逻辑,实现功能点测试,以供测试用例循环调用
在这里插入图片描述
4、测试执行主程序common_Run.py(收集测试用例,批量执行并生成测试报告,并发送报告到邮件)
在这里插入图片描述
5、测试报告呈现
测试概要报告
在这里插入图片描述
测试执行过程中若有失败重试时,则报告中会呈现出前一次失败的结果和原因,同时也会呈现出重试后成功的结果,并且最终的报告结果以最后一次的重试结果为准
在这里插入图片描述
测试执行过程有失败用例时,报告呈现失败截图
在这里插入图片描述
报告发送至邮件时,邮件标题呈现测试通过与否,或失败用例数
在这里插入图片描述
邮件正文直接显示本次测试概要报告,直观显示出执行用例数,失败用例数,失败的用例模块等结果。
在这里插入图片描述

项目实战演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-01-08 14:19:44  更:2022-01-08 14:22:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 5:36:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码