python3.7界面设计_基于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控制台中文显示乱码的问题),修改后的内容和位置具体如下:

for _ in myqueuerng:

try:

# DEBUG result += self._queue.get_nowait()

# .decode(utils.SYSTEM_ENCODING, 'replace')

# .decode('UTF-8','ignore')

result += encoding.console_decode(self._queue.get_nowait(),

'mbcs' if IS_WINDOWS

else 'UTF-8')

安装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

该文件主要控制测试的执行方式、模块的功能开关、测试用例的筛选、邮件的配置以及日志的配置,具体如下:

config.yml配置信息

---

#待执行的产品项目, Cloud -云项目; rfcode -执行所有的项目

ProductItem: Cloud

#待执行的测试套件(标签), all -所有的测试套件: debug -调试中套件; login -登录功能 ; filter -账号筛选: P1 -一级用例

testSuite: P1

#测试报告标题

testReportTitle: Cloud_Report

#失败重试开关, 0 -关, 1 -开 ,开启后默认重试一次

retry_sw

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值