一. 目录结构
二. 设计模式
基于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
1
2
3
4
| import ConfigParser
config=ConfigParser.ConfigParser()
config.read('base.conf')
print config.get('info','qa_user')
|
四. 多浏览器
采用类的继承方式生成针对不同浏览器的类,实现多浏览器支持
1
2
3
4
5
6
7
| 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)
|
|