一. 目录结构
二. 设计模式
基于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)
时间: 2024-10-01 03:10:55