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:什麼是自動化測試?
為什麼要寫測試用例,測試用例寫給誰看?
在國外,資深的軟體測試人員大多是手動測試,他們厲害之處在於測試用例的設計,但在國內,很多測試人員都把自動化測試當成很厲害的資本,為什麼?

TAG:软件测试 | 自动化测试 | Python |