【自動化】appium、selenium、requests構建的測試框架

GitHubhttps://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)

  1. anaconda:類似於一個本地倉庫,就像java的maven一樣,第三方庫很多,就顯得很強大,管理起來也很方便(既然我們的需求本身就很大,那麼就需要一個大的基礎)
  2. virtualenv:簡單型虛擬環境控制工具,但是沒有自己的管理倉庫,需要手動添加
  3. Pipenv 是一個python的依賴管理器,可以用pip管理依賴,但pip不能提供運行時環境,pipenv會幫你把包和environment的問題一起解決,及pip+virtualenv。

版本控制:GitHub

python庫(截至20190414)

  1. python 2.7 (64位)
  2. selenium 3.5
  3. HTMLTestRunner 0.8.2
  4. beautifulsoup4 4.6.0
  5. Appium-Python-Client 0.24
  6. beautifulsoup4 4.6.0
  7. chardet 3.0.4
  8. cx-Oracle 6.0.3
  9. imageio 2.1.2
  10. numpy 1.13.3
  11. pandas 0.22.0
  12. Pillow 4.2.1
  13. PyMySQL 0.7.11
  14. requests 2.18.4
  15. selenium 3.5.0
  16. xlrd 1.0.0
  17. XlsxWriter 1.0.2
  18. xlutils 2.0.0
  19. xlwt 1.3.0

工具類utils(20180331)

  • 日誌: 格式化日誌的輸入內容,文件和控制檯形式打印日誌。
  • 文件檢索:在項目目錄下,檢索是否存在給定文件名的文件。
  • 字符串操作: 自定義fomat,及字符串轉字典的場景方法。
  • 日期格式化: 對date和time的輸出進行格式化。
  • 加密處理:zip等文件的解壓操作,md5操作。
  • 配置文件操作:對配置文件進行讀寫。

web自動化的基礎架構已初步完成(20180408)

可以使用新的測試和報告庫(20180815)

  1. allure
  2. allure-pytest
  3. pytest
  4. allure-pytset-adapter
    通過pytest測試產生數據,讓allure來展示

對於http,thrift,dubbo,hessian協議的測試

  1. http -> requests
  2. thrift -> thrift
  3. dubbo -> dubbo-client
  4. hessian -> python-hessian (forked mustaine)

20190414 備註並init github project

詳細的功能模塊內容:

com/framework/mobile/README.md

com/framework/web/readme.md

com/framework/interface/readme.md

後續計劃逐步升級到python3

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