干货||Selenium Page Object 自动化测试框架-框架设计
抽空利用ECshop开源项目,写了下Selenium的Page Object自动化测试框架
Ecshop
├─common
├─config
├─data
├─logs
├─pages
├─picture
├─report
├─script
├─tools
├─run.py
详细介绍每个组件设计含义。
l common
Python Package格式。存放通用功能函数,如浏览器启动函数、截图函数、日志生成函数、获取URL函数、HTML报告输出函数、配置文档读取函数等。
l config
Directory格式。存放测试执行过程中所需的配置文件,可扩展。
l data
Directory格式。测试执行时所需的测试文件,如测试用例、测试集等。
l logs
Directory格式。存放测试执行时生成的日志文件,便于测试过程追溯。
l pages
Python Package格式。存放页面操作类函数,如ECShop前端主页、注册页面、登陆页面等。
l picture
Directory格式。测试发现缺陷或需定位问题时,可调用common中的截图函数,将截图文件保存在此处。
l report
Directory格式。框架中已经有详细的日志设计,但如果需要输出HTML报告,则可调用common中的HTML报告输出函数,输出测试报告到此处。
l script
Python Package格式。存放测试执行脚本,业务逻辑类的实现脚本,放在此处,调用pages中的基础类操作方法。
l tools
Directory格式。selenium针对不同浏览器的操作调用方法不同,需加载对应的驱动文件,因此tools中可存放FireFox、IE、Chrome的selenium驱动文件。
l run.py
run.py在测试自动化脚本的工程文件夹的根目录下,里面只有核心脚本是用__main__作为主函数入口,执行用例管理函数,如有需要,可利用unittest及HTML报告输出方法,设计执行脚本。
当框架没有设计多场景多用例调用函数时,可利用unittest进行测试用例管理。
