測試同學必須熟悉的python模塊

2020-09-04 測試開發Kevin

測試同學在進行python的面試過程中,必問的問題是你最常用的python模塊有哪些?這些模塊解決了你工作中的哪些問題?在這裡我把測試同學在實際工作中常用的py模塊進行了匯總,本文編寫的目的是對各個模塊的功能進行概要介紹並沒有提供具體api的使用方法,如果大家想要深入了解各個模塊api的具體應用,勞煩自行利用網絡資源解決。



Python 模塊概念

Python模塊是一個 Python 文件,以 .py 結尾,包含了 Python 對象定義和Python語句。模塊讓你能夠有邏輯地組織你的 Python 代碼段。把相關的代碼分配到一個模塊裡能讓你的代碼更好用,更易懂。模塊能定義函數,類和變量,模塊裡也能包含可執行的代碼。Python的模塊分為:

1、標準模塊、標準包

2、第三方模塊

3、自己寫的python文件

Python模塊的引入

import語句 import module1[, module2[,... moduleN]

from…import語句 from modname import name1[,name2[, ... nameN]]

Python模塊的安裝

在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


UI自動化測試

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!原創不易,如果文章幫到了你,歡迎點讚轉發,讓更多的朋友受益!

相關焦點

  • python測試函數模塊unittest
    1.測試函數在編寫完代碼後進行對代碼測試是否有錯誤2.pytho標準庫中的模塊unittest為代碼測試工具例如:name_function.py 模塊名def get_formatted_name(first, last): full_name = first + ' ' + last
  • 一文提升你的Python能力——定義模塊、說明模塊和測試模塊
    最後補充一句:對於這個說明的話,你可以通過模塊的__doc__屬性來訪問文檔哦。好了,到此你已經會定義模塊並會為模塊添加說明文檔了,但是人非聖賢,誰能保證自己寫的「碼子」完全正確呢,這時就要凸顯測試模塊的重要性了,那該怎麼對模塊進行測試呢?不要著急哦,下面告訴大家!
  • 少兒編程學習必備,Python以及Pygame、pip模塊的安裝教程
    鑑於有諸多同學對於遊戲製作以及模塊安裝出現了諸多問題(其實是碼趣君忘記預先告知了),碼趣君決定詳細解答安裝時所需要的步驟,幫助所有同學在製作遊戲時不會出現報錯或者模塊缺失的情況,下面就讓我們來看一下吧。
  • Python+Selenium自動化測試教程連載(1)
    作為測試人員選擇程式語言,易學好用這就夠了。2.Python版本介紹目前在用的python穩定版有2.7和3.8。2.7版本作為老版本馬上就不再維護了,一般選擇python3.8最新或較新版本就可以。3.Selenium介紹Selenium官網:https://selenium.dev/ Selenium是一個開源的WEB自動化測試工具,不少學習功能自動化的同學開始首選selenium,因為它相比商用自動化工具UFT有諸多點: 1.開源免費
  • python進階教程之import導入模塊
    import導入模塊1. import 搜索路徑import syssys.path路徑搜索從上面列出的目錄裡依次查找要導入的模塊文件' ' 表示當前路徑程序執行時導入模塊路徑sys.path.append
  • 詳解python模塊路徑查找規則及定義
    在python中創建一個模塊非常簡單,只需要在當前目錄下創建一個 .py文件即可,系統自動將其解析成模塊,文件名就是模塊名。很多我們源碼時代的同學都認為在查找模塊時優先使用當前目錄下的自定義模塊。其實不然,接下來我們一起來看看python模塊路徑查找規則以及如何自定義模塊路徑。
  • Qt使用C/C++擴展Python內置模塊
    使用平臺:ubuntu14.04、python3.5、Qt 5.5.1下面藉助Qt創建一個叫libpy3extend 的Python內置模塊,它可以做一個簡單的加法操作,還可以返回一個自定義的數據類型。
  • Python的武器庫01:builtwith模塊和python-whois模塊
    說到程式語言python,有一個著名的格言"餘生太短,只用python"。如果要分析為什麼會存在這麼一句格言?python的語法並不簡單,有複雜難懂的部分,之所以有這樣一句格言,是因為python中有很多強大的模塊,就像一個武器庫。
  • Python三種最優導入模塊的方法
    作為python初學者,有時候搞不清楚導入模塊的作用。直接導入模塊通常模塊為一個文件,直接使用import來導入就好了。 - 用import語句導入模塊,就在當前的名稱空間(namespace)建立了一個到該模塊的引用。 - 當使用在被導入模塊中定義的函數時,必須包含模塊的名字,不能只使用 funcname,而應該使用 modname.funcname。
  • Python中XlsxWriter模塊的基礎操作
    XlsxWriter 模塊可以操作Excle文件,支持Excle 2003 和Excle 2007 。並且支持所有的Excle單元格數據格式,單元格合併,批註,自動篩選等。XlsxWriter模塊安裝Python中安裝模塊非常簡單,直接用pip命令即可,具體方法如下:直接在命令提示符窗口敲入命令:pip install XlsxWriter 回車後等待一會即可安裝完成。
  • 10分鐘玩轉Python+Selenium自動化測試,快速入門通道!
    最近瀏覽了很多同學的簡歷,大部分都有自動化測試,基本都有selenium。但很少有人真正弄清selenium。一個是selenium的提供了很多組件,讓人容易上手,然後很多人就沒有然後了。二是selenium的更新伴隨著工具的合併,很多人壓根沒高清自己用的是selenium RC 還是 webdriver。
  • 第三章:Python Selenium 自動化測試之Python基礎
    解決方法為只要在文件開頭加入 coding=utf-8 就行了,注意必須是開頭,在python3中沒有這個問題,python3.x 源碼文件默認使用utf-8編碼,所以可以正常解析中文,無需指定 UTF-8 編碼。
  • 三分鐘從入門到精通——Python模塊
    中的模塊:假設您正在使用python解釋器。因此,python有一種方法可以將該函數定義放入文件中並隨時使用。模塊是ModuleType類型的對象。該模塊基本上是一個python文件(擴展名為的文件.py),其中包含定義和語句(例如:類,函數,變量等)。Python中的模塊為我們提供了邏輯上組織代碼的靈活性。我們使用模塊將大型程序分解為小的可管理文件。
  • 使用Pytest創建一個Python測試自動化項目
    讓我們遵循以下約定:tests/創建一個 為我們的第一個測試命名的Python模塊,並添加以下代碼:test_math.pydef test_addition(): assert 1 + 1 == 2使用pytest編寫的測試通常不需要太多代碼。
  • 在做自動化測試之前,你必須要知道這些
    但比如 Web service 技術對外提供的一個公共接口,需要通過soapUI 等工具對其進行測試。 UI層的自動化測試,這個大家應該再熟悉不過了,大部分測試人員的大部分工作都是對UI層的功能進行測試。例如,我們不斷重複的對一個表單提交,結果查詢等功能進行測試,我們可以通過相應的自動化測試工具來模擬這些操作,從而解放重複的勞動。
  • Python中的Json解析模塊
    : 「Runsen」,「age」: 18,「 feature 「 : [『高』, 『富』, 『帥』]}Python字典{『name』: 『Runsen』,『age』: 18『feature』 : [『高』, 『富』, 『帥』]}注意點:字符串必須用雙引號
  • Python基礎知識:os模塊如何處理文件系統
    os模塊是python內置的一個模塊,用來處理文件及目錄的,os模塊太強大了,涵蓋了文件系統所有的處理方法。首先導入os模塊,然後dir查看一下os裡面的子模塊和方法。那麼os有哪些操作了?創建目錄、創建文件、刪除文件、文件目錄權限設置、進程管理、路徑拼接等等。
  • Python模塊NumPy,Pandas,matplotlib的中文文檔
    今天比較忙所以不能寫長文了作為一名數據工程師需要熟練掌握python中的這些numpy,matplotlib,pandas,sklearn,seaborn,statsmodel.模塊但是由於這些模塊的文檔都是英文的可能一些英文不好的同學學起來會比較的困難,所以我從網上給大家找到一些中文的文檔
  • Python 中引入一個文件,模塊的概念
    Python 提供了強大的模塊支持,主要體現在,不僅 Python 標準庫中包含了大量的模塊(稱為標準模塊),還有大量的第三方模塊,開發者自己也可以開發自定義模塊。通過這些強大的模塊可以極大地提高開發者的開發效率。
  • Python的import 模塊小記
    模塊的好處還在於,能夠更有效的對功能類或函數進行獨立管理和獨立擴展,減小類或函數間的耦合,就相當於文件夾或壓縮包對文件進行管理一樣。今天,主要小記一下python的幾種常見的模塊,以及如何引入模塊,各種引入方式之間的區別,最後說明一下模塊加載機制和常用的加載函數。