抽空利用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进行测试用例管理。