GitHub: https://github.com/gitjayzhen/python-owl
這是一個針對測試工作的一個工具集合,包含了手機appium工具的使用、網頁selenium的使用、接口requests工具的使用;
這是一個整合,想讓owl@ override the world limit 能夠跨越各工具的隔閡。整個框架的思量性很雜,可以定義爲python與
測試理論結合的進階性學習成果。
它還還可以進一步完善,實現界面化,及更優秀的想法注入。比如:性能、爬蟲...
owl@override the world limit
這個工程是爲了什麼而建立?因爲想把web ui自動化、mobile ui
自動化、接口自動化都融合在同一個平臺裏。因爲當前都是腳本曾層面的實現,
希望後面有精力結合flask把web展示端也實現了。
項目管理
規範
- 基於python的web自動化、mobile自動化、接口自動化的整合項目
- 弱耦合,高內聚,複用性,易用性,可讀性,易拓展
- 核心:selenium、appium、requests
owl@override the world limit
2018年3月28日
23:51
Src
com/framework:
utils :將普通的輸入格式化爲標準輸入
dataUtil: 處理數據
dateUtil: 處理日期
encryptUtil: 處理實體加密
fileUtil: 文件類
reporterUtil:報告模塊
stringUtil: 字符串處理
Conifg
Core:
adb: 封裝的adb底層命令
dos: 封裝的window命令
Services :獨立的完整服務,有特有的邏輯處理能力,並能給出結果:服務的供給
HttpClient
Report
Monitor
database :數據模型對象,處理各種數據驅動;數據庫操作對象(mysql、redis、mongodb、rabbitmq)
mobile :手機ui自動化及appium的一系列操作
interface : 接口測試使用及requests的一系列操作
web :webui自動化及selenium的一系列操作
test: 這裏構建一些框架測試的腳本
resources : 測試配置文件
config :框架使用的所有配合文件都在這裏
doc: 一些框架設計相關的文檔
driver: webdriver驅動
excel: 測試使用的數據
image:圖片
shell: 一些bat和sh腳本
result:
log: 公共log日誌
mbile:手機特殊的日誌目錄
web: web特殊的日誌目錄
環境管理(開始選擇了virtualenv, 升級3後用的conda)
- anaconda:類似於一個本地倉庫,就像java的maven一樣,第三方庫很多,就顯得很強大,管理起來也很方便(既然我們的需求本身就很大,那麼就需要一個大的基礎)
- virtualenv:簡單型虛擬環境控制工具,但是沒有自己的管理倉庫,需要手動添加
- Pipenv 是一個python的依賴管理器,可以用pip管理依賴,但pip不能提供運行時環境,pipenv會幫你把包和environment的問題一起解決,及pip+virtualenv。
版本控制:GitHub
python庫(截至20190414)
- python 2.7 (64位)
- selenium 3.5
- HTMLTestRunner 0.8.2
- beautifulsoup4 4.6.0
- Appium-Python-Client 0.24
- beautifulsoup4 4.6.0
- chardet 3.0.4
- cx-Oracle 6.0.3
- imageio 2.1.2
- numpy 1.13.3
- pandas 0.22.0
- Pillow 4.2.1
- PyMySQL 0.7.11
- requests 2.18.4
- selenium 3.5.0
- xlrd 1.0.0
- XlsxWriter 1.0.2
- xlutils 2.0.0
- xlwt 1.3.0
工具類utils(20180331)
- 日誌: 格式化日誌的輸入內容,文件和控制檯形式打印日誌。
- 文件檢索:在項目目錄下,檢索是否存在給定文件名的文件。
- 字符串操作: 自定義fomat,及字符串轉字典的場景方法。
- 日期格式化: 對date和time的輸出進行格式化。
- 加密處理:zip等文件的解壓操作,md5操作。
- 配置文件操作:對配置文件進行讀寫。
- …
web自動化的基礎架構已初步完成(20180408)
可以使用新的測試和報告庫(20180815)
- allure
- allure-pytest
- pytest
- allure-pytset-adapter
通過pytest測試產生數據,讓allure來展示
對於http,thrift,dubbo,hessian協議的測試
- http -> requests
- thrift -> thrift
- dubbo -> dubbo-client
- hessian -> python-hessian (forked mustaine)
20190414 備註並init github project
詳細的功能模塊內容:
com/framework/mobile/README.md
com/framework/web/readme.md
com/framework/interface/readme.md