【Pyswat】框架環境搭建(一)

參考文檔:https://www.kancloud.cn/lamecho/pyswat/330991

1、Pyswat簡介

Pyswat(python-selenium-web-auto-test)是基於selenium實現web頁面UI自動化操作的,主要模塊在於錄製和回放,錄製的不是腳本命令而是操作執行的步驟,excel對於操作步驟清晰可見同時便於修改維護,錄製時一方面借用selenium,另一方面利用pythonHook記錄用例的鼠標、鍵盤操作。

框架也封裝了一些方法:
drag(拖拽,區別於selenium的軟拖拽,完全是根據傳入兩個元素的位置做了物理拖拽,效果更理想)
check(頁面內容檢查,傳入你想檢查的內容,回放時會在日誌中記錄查找結果統計)
scroll(滾動屏幕,支持底部,頂部滾動,滾動到元素位置,流暢滾動等)
uploadFile(傳入文件路徑即可,支持多個文件同時上傳,對於檢查文件不存在等異常會自動關閉選擇文件)

2、Pyswat框架環境搭建

1)Python2.7

2)selenium庫

pip2 install selenium

3)xlrd,xlwt庫:用於操作excel表格

pip2 install xlrd
pip2 install xlwt

4)ConfigParser庫:用於讀寫Enviroment.ini配置文件

pip2 install ConfigParser

5)numpy、matplotlib庫 用於生成運行結果柱狀圖

pip2 install numpy
pip2 install matplotlib

6)pyHook庫:用於python鉤子,記錄鼠標鍵盤操作,位數要和python位數版本一致

這裏寫圖片描述

7)pywin32:python下操作win32api,位數要和python位數版本一致

這裏寫圖片描述

8)bs4庫

pip2 install beautifulsoup4

9)Pillow庫

pip2 install Pillow

全部安裝完成後,pip2 list查看各庫的版本
這裏寫圖片描述

3、Pyswat框架文件結構

這裏寫圖片描述

  • modual文件夾:程序運行依賴的模塊
  • pic:保存程序運行時報錯的截圖
  • 2excel.py:生成excel案列的python程序。運行時確保存在“temp_case.txt”存在,名稱可在配置文件中任意指定
  • webs_record.py:錄製程序
  • webs_replay.py:回放程序
  • 雪球網演示案例.xls:回放執行案例
  • res.png:運行結果的柱狀圖
  • run.log:運行時的日誌文件
  • temp_case.txt:運行webs_record.py生成的錄製原始文件,用2excel.py轉換爲excel格式
  • temp_case.xls轉換後的案例文件
  • Enviroment.ini:配置pyswat框架運行環境

4、Enviroment.ini

使用pyswat前需要配置好Enviroment.ini各項參數:

  • [record]:控制“webs_record.py”錄製程序的相關參數
    • file = temp_case.txt:錄製完成後生成的原始記錄的文件名稱
    • url = https://xueqiu.com:錄製網址url鏈接
    • browser = Chrome:錄製使用瀏覽器,目前支持Chrome,Firefox,IE。需要selenium運行環境中存在對應各個瀏覽器的driver
    • ex-record = 1:錄製增強模式,默認打開。0是關閉(建議打開)
  • [2excel]:控制“2excel.py”程序轉換案例程序的相關參數
    • sheet = temp_case:生成案例的sheet名稱,可自定義
    • file = temp_case.xls:生成案例的excel文檔名稱,可自定義
    • smart_mode = 1:轉化模式,目前默認爲1,自動轉換鍵盤輸入內容。目前pyswat框架運行只識別該模式下的案例
  • [replay]:控制“webs_replay.py”回放程序的相關參數
    • file = C:\Users\lamecho\Desktop\pyswat_xueqiu_show\雪球網演示案例.xls:運行案例的完整路徑
    • case = login,send_message(1),pay_message,new_stock,修改個人信息,退出登錄:運行案例的case名稱及運行次數(case名稱是對應案例excel表中sheet名)
    • url = https://xueqiu.com:回放時打開的web網址
    • browser = Chorme:錄製使用瀏覽器,目前支持Chrome,Firefox,IE。需要selenium運行環境中存在對應各個瀏覽器的driver
    • think_time = 0:思考時間配置,0表示不使用錄製的思考時間;1表示回放時執行思考時間
    • wait_time = 3:各個case切換時的等待時間,默認3秒
    • retry = 0:當案例回放失敗後是否執行重試,0不打開重試功能,1執行重試
  • [parameters]:保存案例中指定random方式生成的參數名稱及其內容
    • p1 = message-0005:當存在多個參數時,會依次保存
  • [parameters_seq]:保存案例中指定的sequence方式生成的參數及其內容。可修改參數內容,運行時確保案例中調用的參數存在於配置文件中。
    • p1 = message-0004,message-0005,message-0002,message-0003,message-0001:當存在多個參數時,會依次保存。可修改參數內容,運行時確保案例中調用的參數存在於配置文件中。注意分隔符號採用英文逗號
發佈了90 篇原創文章 · 獲贊 47 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章