python-selenium多浏览器支持测试框架

一. 目录结构

wKioL1XvCgWBGaF2AAExq5BnqZI578.jpg

二. 设计模式

基于page-object设计模式

1.lib-base

util--实现读取配置文件

driver_manager--通过type参数启动不同的浏览器driver

test_manager--通过type参数生成不同的类,实现多浏览器支持

2.lib-page

abstract_page实现

读取配置:url、用户信息

登录功能

*:注意单独调试的时候需要在开头加上sys.path.append(r'D:\test_browser'),否则from lib.base.util import Util会报错

XXXPage实现每个page页功能,如创建bug、创建文档功能

3.case

test_abstract实现

成员变量type,driver,config_file

在setup和teardown中实现driver启停

截图功能

TestXXXPage实现每个page页测试用例

写用例的时候先写page再写对应的case


三. 配置管理

使用ConfigParser模块

[info]

url=http://127.0.0.1:8888/XXX/


admin_user=admin

admin_pswd=123456

admin_name=管理员


qa_user=test01

qa_pswd=123456

qa_name=测试1


rd_user=test02

rd_pswd=123456

rd_name=测试2


[test]

dir_screenshot=D:/test_browser/data/screenshot

import ConfigParser
config=ConfigParser.ConfigParser()
config.read('base.conf')
print config.get('info','qa_user')


四. 多浏览器

采用类的继承方式生成针对不同浏览器的类,实现多浏览器支持

from new import classobj
Class TestManager:
@staticmethod
def getTest(clz,type):
new_classname=str(clz.__name__)+'-'+str(type).capitalize() #驼峰式写法,首字母大写
new_clz=classobj(new_classname,(clz,),{'type':type})
return unittest.makeSuite(new_clz)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章