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


基于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)

 


评论关闭