Python實踐-Python自動化測試常用庫整理
今天花了一些時間,過了一下這幾年自己用Python開發的自動化測試框架,然後將其中常用到Python庫抽出來,簡單整理了一下它們的用處。我覺得,只要掌握了這些常用的Python庫,足以應對大多數自動化測試框架和工具的開發工作。
為了從若干源代碼文件中找出這些被引用的Python庫,還專門寫了一個小工具來查找它們,該工具已經上傳到github,地址是:import_search.py
如果各位在平時工作中,發現了好用的Python庫,也請留言註明,我好補充。
基本庫:
sys 程序和Python解析器的交互
os 啟動新進程;操作文件和目錄
re 正則表達式,字元串匹配
string 基本字元串操作
inspect 提供自省和反射功能
importlib 支持動態導入
bitstring二進位數據處理
zipfile 壓縮解壓文件
tarfile 壓縮解壓文件
random 隨機數,概率
uuid 生成唯一碼
defaultdict 帶默認值的字典
fcntl 操作文件描述符
signal 信號處理
threading 線程庫,構建並發應用
psutil 系統性能參數
命令行,讀取配置:
optparse 處理命令行選項
glob 文件路徑查找
yaml 訪問yaml數據文件
ConfigParser 讀取配置文件
xml XML庫
pickle 序列化
json 序列化
網路請求相關:
libxml2 XML解析器
urlparse URL解析
urllib 訪問URL資源
urllib2 訪問URL資源
cookielib http客戶端的cookie處理
requests 神器,用於發送網路請求,常用於介面測試
httplib http請求客戶端
BeautifulSoup 從HTML或XML文件中提取數據的Python庫
網路數據包:
scapy 網路嗅探工具包
dpkt 網路數據報解析
pcapy 解析pcap文件
socket TCP,UDP數據協議
struct 將python基本類型值與用python字元串格式表示的C struct類型間的轉化,主要用於網路數據傳輸
測試系統構建:
flask 構建web應用,構建HTTP介面
tornado 構建web應用,構建HTTP介面
BaseHTTPServer 簡單HTTP伺服器
appium App自動化測試工具
selenium 大名鼎鼎的web自動化測試工具
behave BDD自動化測試框(通用自動化測試框架)
unittest Python內置自動化測試框架(通用自動化測試框架)
logging 日誌庫
traceback 調試信息
nanotime 納秒級的時間
time 時間訪問和轉換函數
datetime 日期和時間
jenkinsapi 訪問jenkins
分散式系統構建:
xmlrpclib 基於xml的遠程RPC庫
fabric 利用ssh高效部署和管理系統的工具,用於遠程執行命令和部署文件
paramiko 遵循SSH2協議,支持以加密和認證的方式,進行遠程伺服器的連接。用於遠程執行命令和部署文件
大數據和資料庫相關:
avro avro是一個數據序列化系統
etcd etcd訪問庫
pyspark spark庫
hdfs hdfs庫
pyhive hive庫
redis 訪問redis資料庫
rediscluster 訪問redis集群
pymongo 訪問mongodb
kafka 訪問kafka
pykafka 訪問kafka
sqlalchemy ORM庫
MySQLdb 訪問MySQL資料庫
結果展示:
smtplib 負責發送郵件
email 負責構造郵件
numpy 數據處理
math 顧名思義
matplotlib 數據繪圖包
pylab 繪製二維,三維數據
pychart 製作圖表
如果覺得本文對您有幫助,敬請點贊。
推薦閱讀:
※介面測試基礎
※Windows Automation API和自動化測試
※WEB自動化1:什麼是自動化測試?
※為什麼要寫測試用例,測試用例寫給誰看?
※在國外,資深的軟體測試人員大多是手動測試,他們厲害之處在於測試用例的設計,但在國內,很多測試人員都把自動化測試當成很厲害的資本,為什麼?