面試python的必考題,收藏好了!拿高薪就靠它了

SF測試發表於2020-09-28

測試同學在進行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#),並且 Selenium能夠在一個或多個瀏覽器中執行這些測試。

安裝

pip install selenium

 

 Appium

Appium 是一個自動化測試開源工具,支援 iOS 平臺和 Android 平臺上的原生應用,web應用和混合應用。appium選擇了Client/Server的設計模式。Appium 支援多語言(目前支援的語言有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,具備如下優點:

  • 可以通過設定不同的日誌等級,在release版本中只輸出重要資訊,而不必顯示大量的除錯資訊;

  • print將所有資訊都輸出到標準輸出中,嚴重影響開發者從標準輸出中檢視其它資料;logging則可以由開發者決定將資訊輸出到什麼地方,以及怎麼輸出。

  • 日誌級別:DEBUG < INFO < WARNING < ERROR< CRITICAL

日誌基礎輸出:

logging.debug('This is debug message')
logging.info('This is info message')
logging.warning('This is warning message')

 

單元測試框架

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)
defthread_func():
    pass 

安裝

pip install tomorrow

 

NumPy(Numerical Python) 是 Python 語言的一個擴充套件程式庫,支援大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫,主要用於陣列計算,包含:

  • 一個強大的N維陣列物件 ndarray

  • 廣播功能函式

  • 整合 C/C++/Fortran 程式碼的工具

  • 線性代數、傅立葉變換、隨機數生成等功能

該模組在資料分析中使用十分廣泛。

 

安裝

pip install numpy

如果大家能夠在實際工作中不斷地對本文介紹的這些模組進行實際應用,相信大家一定會大幅提升自己的py編碼能力並暫獲心儀offer!

相關文章