本篇文章,会详细分享我搭建的关键字驱动自动化测试框架的整体技术架构组成以及思路方案。大家有什么建议的都可以畅所欲言,感谢!
技术架构
Python+selenium+Excel关键字驱动+pytest+openpyxl+yaml+ddt+pillow+ logging
功能点
-
通过编写Excel自动化测试用例,每条用例使用对应的关键字函数,实现自动化;
-
自动化执行过程,记录执行时间,输出执行结果,如遇执行失败,自动截图;
-
自动化用例执行过程,全程录制画面,用例执行完后自动保存为 GIF 图片,方便回顾执行过程;
-
自动化用例执行过程中,输出日志,并自动保存;
-
自动化用例执行前自动进行文件备份,原因是,有时候我会强制中断执行,这样可能会导致 Excel 文件损坏,那我写的用例就又得重新写一次;
-
自动化用例执行结束后,输出allure报告;
-
框架支持配置,如:a. 指定当前运行环境(生产环境:prod,测试环境:dev),目前是两个作用,第一个是切换不同的环境,可以运行不同的项目地址;第二个是切换不同的环境,会使用不同的变量参数,如登录账号密码;b. 指定执行浏览器,如:chrome、fixfox c. 指定断言失败后,是否继续执行后续用例
项目结构
allure-report(allure报告)
config(项目配置)
-- init.yaml(项目配置)
-- data.yaml(变量参数)
library(关键字函数库)
-- library.py(关键字函数)
logs(日志)
screenshot_gif(用例录制)
screenshot_imgs(用例错误截图)
testcase(pytest测试用例)
-- testcase.py(pytest测试用例)
testcase_data(Excel自动化测试用例)
testcase_data_temp(Excel自动化测试用例备份)
utils(工具库)
-- excel_util.py(读取Excel文件)
-- logging_util.py(日志器)
-- read_yaml_util.py(读取yaml文件)
-- tools.py(工具)
run.py(运行主函数)
关键字函数库文档.txt(关键字函数使用文档)
框架细节
1.关键字函数文档
2.pytest 测试用例,这里我只集成了一个testcase,然后自动读取 testcase_data 所有的测试用例excel文件
3.关键字函数库,使用python的反射函数,可轻松调用任意的关键字函数
4.部分关键字函数
Excel自动化测试用例
allure报告
log日志
其实,我觉得最实用的是,用例的执行过程录制,我用了一个比较巧妙的方法,就是把每一个执行步骤,做一次截图,然后存到临时文件,等所有用例执行完,自动合并为gif图片,这样就可以通过简简单单的方法,实现用例执行过程的画面录制,而且感觉很炫酷,这里暂不做展示;
总结
框架,还有很多细节未展示,文章篇幅有限,这里只做思路和方案的分享。
这套框架,我觉得会是我以后自动化测试平台的核心逻辑,现在这套缺点还是挺多,亟需自动化测试平台的集成,其中最重要的是,把数据存储到数据库,方便数据管理,实现更加强大的功能。
行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!