如何利用tox打造自動自動化測試框架,看完就懂

2021-10-08 12:41:27 字數 3625 閱讀 4846

什麼是tox

tox官方文件的第一句話 standardize testing in python,意思就是說標準化python中的測試,那是不是很適合測試人員來使用呢,我們來看看他究竟是什麼?

根據官方文件的解釋,tox是乙個管理測試虛擬環境的命令列工具,可以支援穿件隔離的python環境,在裡面可以安裝不同版本的python直譯器和專案的各種依賴庫,可以進行自動化測試、打包以及持續整合。

tox能做什麼

–建立測試虛擬環境

–執行靜態**分析與測試工具

–自動化構建包

–針對 tox 構建的軟體包執行測試

–檢查軟體包是否能在不同的 python 版本/直譯器中順利安裝

–統一持續整合(ci)和基於命令列的測試

安裝tox

使用 pip install tox 安裝,在命令列執行tox -e envname執行指定的測試環境

tox配置

tox的行為既可以通過命令列來控制也可以通過配置檔案進行控制,支援有以下三種形式的配置檔案

pyproject.toml

tox.ini

setup.cfg

什麼是tox

tox官方文件的第一句話 standardize testing in python,意思就是說標準化python中的測試,那是不是很適合測試人員來使用呢,我們來看看他究竟是什麼?

根據官方文件的解釋,tox是乙個管理測試虛擬環境的命令列工具,可以支援穿件隔離的python環境,在裡面可以安裝不同版本的python直譯器和專案的各種依賴庫,可以進行自動化測試、打包以及持續整合。

tox能做什麼

建立測試虛擬環境

執行靜態**分析與測試工具

自動化構建包

針對 tox 構建的軟體包執行測試

檢查軟體包是否能在不同的 python 版本/直譯器中順利安裝

統一持續整合(ci)和基於命令列的測試

怎麼配置tox

安裝tox

使用 pip install tox 安裝,在命令列執行tox -e envname執行指定的測試環境

tox配置

tox的行為既可以通過命令列來控制也可以通過配置檔案進行控制,支援有以下三種形式的配置檔案

pyproject.toml

tox.ini

setup.cfg

建立測試虛擬環境

執行靜態**分析與測試工具

自動化構建包

針對 tox 構建的軟體包執行測試

檢查軟體包是否能在不同的 python 版本/直譯器中順利安裝

統一持續整合(ci)和基於命令列的測試

怎麼配置tox

安裝tox

使用 pip install tox 安裝,在命令列執行tox -e envname執行指定的測試環境

tox配置

tox的行為既可以通過命令列來控制也可以通過配置檔案進行控制,支援有以下三種形式的配置檔案

pyproject.toml

tox.ini

setup.cfg

什麼是tox

tox官方文件的第一句話 standardize testing in python,意思就是說標準化python中的測試,那是不是很適合測試人員來使用呢,我們來看看他究竟是什麼?

根據官方文件的解釋,tox是乙個管理測試虛擬環境的命令列工具,可以支援穿件隔離的python環境,在裡面可以安裝不同版本的python直譯器和專案的各種依賴庫,可以進行自動化測試、打包以及持續整合。

tox能做什麼

建立測試虛擬環境

執行靜態**分析與測試工具

自動化構建包

針對 tox 構建的軟體包執行測試

檢查軟體包是否能在不同的 python 版本/直譯器中順利安裝

統一持續整合(ci)和基於命令列的測試

怎麼配置tox

安裝tox

使用 pip install tox 安裝,在命令列執行tox -e envname執行指定的測試環境

tox配置

tox的行為既可以通過命令列來控制也可以通過配置檔案進行控制,支援有以下三種形式的配置檔案

pyproject.toml

tox.ini

setup.cfg

以上配置解釋如下:

–[tox]節點是對tox進行配置

envlist指定環境列表,多個環境用逗號隔開,比如py36,py37

skipsdist 指定tox在執行過程中跳過打包環節,因為當前這個專案沒有打包的需求,所以這裡設定為true,這個和自動化測試框架的設計有關。

–indexserver 指定pip的安裝源

[testenv]節點是對測試環境進行配置,這個是根測試環境的配置,下面還可以對不同的測試環境進行配置,都可以繼承這個節點

deps 指定專案的python依賴的第三方包

–install_command 定義pip安裝命令引數

[testenv:dev]這個節點是定義測試環境,繼承根環境配置

setenv 設定環境變數,在專案中可以讀取環境變數,從而決定要執行哪個環境的配置,比如tox -e dev,意思就是說在測試環境執行測試用例,tox -e prod在生產環境執行測試用例

commands 指定pytest的執行方式,其他環境的節點配置與此相似。

tox專案實戰

下面我們以 tox、pytest打造乙個自動化測試框架

專案搭建

新建乙個api-auto-test資料夾,在資料夾裡新增乙個tox.ini檔案,輸入上面的配置

再分別新建乙個src和tests目錄,src用於存放封裝的一些共有的內容,tests用於存放測試用例

src目錄內容如下

ad和biz是對不同業務進行的封裝,裡面包括介面呼叫以及資料庫相關操作

class

config

:'''公共配置'''

class

devconfig

(config)

:'''測試環境配置'''

class

prodconfig

(config)

:'''生產環境配置'''

# 環境切換

執行測試用例

以上是執行過程以及測試結果,會生成junit.xml格式的測試報告,當然也可以使用pytest-html或者其他測試報告,都很方便。

robot framework 介面自動化測試

介面測試比ui測試更有價值,如果專案時間緊張,測試介面更好一些,但每次都頻繁的手工填寫介面進行測試也浪費時間,下面給大家介紹一下很好的自動化測試框架robot framework,並且做介面自動化測試事半功倍。其返回值驗證和與資料庫連線進行增刪改查很方便,邏輯也很嚴謹,如果公司沒有造輪子推薦這麼做。...

Robotframework 介面自動化測試

1.目的 1 以雲平台為例 實現註冊 登入 更新apikey 新增專案 新增裝置 新增感測器 新增執行器 感測器每隔3s上報一次資料 1分鐘後與雲平台主動斷開連線的介面自動化測試。2 斷言每條用例是否執行成功。3 程式不管執行多少次都不報錯。2.robotframework環境搭建 1 安裝pyth...

python requests介面自動化測試 一

python requests環境部署 1.安裝python,配置系統環境變數 4.安裝requests庫 pip install requests 在進行介面自動化測試時,常用到的幾個requests庫方法。如下 get 不帶引數的請求 n requests.get 帶引數的請求 引數是以字典的形...