測試同學在進行python的面試過程中,必問的問題是你最常用的python模塊有哪些?這些模塊解決了你工作中的哪些問題?在這裡我把測試同學在實際工作中常用的py模塊進行了匯總,本文編寫的目的是對各個模塊的功能進行概要介紹並沒有提供具體api的使用方法,如果大家想要深入了解各個模塊api的具體應用,勞煩自行利用網絡資源解決。
Python模塊是一個 Python 文件,以 .py 結尾,包含了 Python 對象定義和Python語句。模塊讓你能夠有邏輯地組織你的 Python 代碼段。把相關的代碼分配到一個模塊裡能讓你的代碼更好用,更易懂。模塊能定義函數,類和變量,模塊裡也能包含可執行的代碼。Python的模塊分為:
1、標準模塊、標準包
2、第三方模塊
3、自己寫的python文件
import語句 import module1[, module2[,... moduleN]
from…import語句 from modname import name1[,name2[, ... nameN]]
在Python中,安裝第三方模塊,是通過setuptools這個工具完成的。Python有兩個封裝了setuptools的包管理工具:easy_install和pip。目前官方推薦使用pip。PyPI(Python Package Index)是python官方的第三方庫的倉庫,所有人都可以下載第三方庫或上傳自己開發的庫到PyPI。PyPI推薦使用pip包管理器來下載第三方庫。網址:https://pypi.org/
pip install <包名> 或 pip install -r requirements.txt
pip install requests 安裝requests 模塊
下載的第三方包會保存在 [Python目錄]\Lib\site-packages 下
pip list 查看安裝了哪些模塊
pip uninstall requests 卸載requestes模塊
UI自動化測試:selenium、Appium-Python-Client
接口測試:requests、urllib
日誌模塊:logging
單元測試框架:unittest、pytest
文件處理模:lxml、xlrd和xlwt、 pandas、json
資料庫模塊:MySQLdb、sqlite3、cx_Oracle
其他模塊:jenkins、mailbox、tomorrow、numpy
Selenium
Selenium是用於測試 Web 應用程式用戶界面(UI) 的常用框架。它是一款用於運行端到端功能測試的超強工具。您可以使用多個程式語言編寫測試(目前支持的語言有Java,Python,Ruby, C等等)多平臺(目前支持的平臺有MAC和Windows)。Appium 的Python客戶端是Appium-Python-Client
安裝
pip install Appium-Python-Client
Requests是一個很實用的Python的HTTP客戶端庫,編寫爬蟲和測試伺服器響應數據(接口測試)時經常會用到。
Requests完全滿足今日web 的需求。包括功能如下:
Keep-Alive & 連接池、國際化域名和 URL、帶持久 Cookie 的會話、瀏覽器式的 SSL 認證、自動內容解碼、基本/摘要式的身份認證、優雅的 key/value Cookie、自動解壓、Unicode 響應體、HTTP(S) 代理支持、文件分塊上傳、流下載、連接超時、分塊請求、支持 .netrc
安裝
pip install requests
另外urllib是 Python 內置的 HTTP 請求庫,基礎功能與Requests類似,但應用沒有requests廣泛。
logging模塊是Python內置的標準模塊,主要用於輸出運行日誌,可以設置輸出日誌的等級、日誌保存路徑、日誌文件回滾等;相比print,具備如下優點:
1.可以通過設置不同的日誌等級,在release版本中只輸出重要信息,而不必顯示大量的調試信息;
2.print將所有信息都輸出到標準輸出中,嚴重影響開發者從標準輸出中查看其它數據;logging則可以由開發者決定將信息輸出到什麼地方,以及怎麼輸出。
3.日誌級別:DEBUG < INFO < WARNING < ERROR< CRITICAL
日誌基礎輸出:
logging.debug(&39;)
logging.info(&39;)
logging.warning(&39;)
Unittest是python內置的單元測試框架,關於單元測試相關的概念這裡就不詳細說明了,可以參考下面三篇文章:
Pytest是python的第三方單元測試框架,比unittest更簡潔和高效,支持315種以上的插件,同時兼容nose、unittest 框架。
安裝
pip install pytest
文件的讀寫包括常見的txt、Excel、xml、二進位文件以及其他格式的數據文本,主要用於本地數據的讀寫。
open(name[, mode[, buffering]]) Python默認的文件讀寫方法。
lxml模塊支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。
安裝
pip install lxml
pandas模塊讀寫excel(主要做數據分析)
安裝
pip install pandas
json模塊編碼和解碼JSON對象。主要方法方法包括:
json.dumps(用於將dict類型的數據轉成str) 和json.loads (用於將str類型的數據轉成dict)
安裝
pip install pandas
xlrd模塊和xlwt模塊 xlrd:主要用來讀取Excel文件;xlwt主要用來寫入Excel文件
安裝
pip install xlwt
pip install xlrd
資料庫連接可用於連接眾多資料庫以及訪問通用資料庫接口,可用於資料庫維護、管理和增、刪、改、查等日常操作。
pymysql(Mysql)
cx_Oracle(oracle)
psycopg2(PostgreSQL )
redis(redis)
pymongo(mongo)
HappyBase(HBase)
jenkins模塊提供用來操控jenkins的api,是各個公司自動化發布平臺的核心api。
安裝
pip install python-jenkins
mailbox模塊提供用來發送郵件的api,在接口測試和ui測試的框架中經常使用
安裝
pip install mailbox
tomorrow模塊用來產生多線程,使用起來非常的方便,只需要用其中的threads方法作為裝飾器去修飾一個普通的函數就可以達到並發的效果。例如:
@threads(5)
def thread_func():
pass
安裝
pip install tomorrow
NumPy模塊(Numerical Python) 是Python 語言的一個擴展程序庫,支持大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫,主要用於數組計算,包含:
強大的N維數組對象 ndarray;
廣播功能函數;
整合 C/C++/Fortran 代碼的工具;
線性代數、傅立葉變換、隨機數生成等功能;
該模塊在數據分析中使用十分廣泛。
安裝
pip install numpy
如果大家能夠在實際工作中不斷地對本文介紹的這些模塊進行實際應用,相信大家一定會大幅提升自己的py編碼能力並斬獲心儀offer!原創不易,如果文章幫到了你,歡迎點讚轉發,讓更多的朋友受益!