码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-09-09 07:26:38      阅读:220      评论:0      收藏:0      [点我收藏+]

标签: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)


本文出自 “今日的努力,明日的成功!” 博客,请务必保留此出处http://zhzhgo.blog.51cto.com/10497096/1692951

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

标签:python   selenium   

原文地址:http://zhzhgo.blog.51cto.com/10497096/1692951

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!