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)


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