python實現介面自動化測試

2021-10-20 06:28:16 字數 3270 閱讀 8274

1. 介面自動化流程

需求分析

請求:url、方法、資料

響應:響應資料、狀態碼

挑選需求做自動化測試

時間、人員、介面複雜度

設計測試用例

搭建自動化測試環境

如python、pycharm

設計測試專案的架構

報告、引數化、用例執行框架

編寫**

執行測試用例

unittest、pytest

生成測試報告

2.介面清單整理

請求1)請求url:

2)請求方法:post/get

3)請求引數:headers =

4)請求報文:body

響應

1)響應狀態碼:

2)響應資料:

3.用例設計

模板:

id、模組、介面名稱、請求url、用例名稱、請求方法、請求引數型別、請求引數、預期結果、實際結果、備註

注意:單介面用例設計的顆粒度較小(以測試資料為顆粒度)

4. 專案搭建

自動化測試目錄結構

介面物件層api

1)登入 login.py

2)獲取登入列表

用例業務實現層 case

1)tese_login.py

用例報告report

報告.html

工具層 tools

資料層 data

1)login.json

執行入口 run_sutie.py

4.1介面物件層

1.login.py

# 實現登入介面物件封裝

# 導包 requests

import requests

# 新建類 登入介面物件

class apilogin(object)

# 呼叫post並返回響應物件

return requests.post(url,headers=headers,json=data)

}

url、mobile、code需要從data資料檔案讀取,做引數化使用,這裡使用動態傳參2.test_login.py

// 1.導包 unittest 、apilogin

import unittest

form apilogin import

// 2. 新建測試類 繼承unittest.testcase

class testlogin(unittest.testcase):

def test_login(self):

// 暫時儲存資料

url =

mobile =

code =

// 呼叫登入方法

obj = apilogin().api_post_login(url,mobile,code)

// 測試使用

print(『檢視測試結果』,obj.json())

// 斷言 響應資訊 、響應狀態碼

self.assertequals("ok",obj.json()['message'])

// 響應狀態碼

self.assertequals(201,obj.status_code)

// 3. 新建測試方法 test_login()

1)引數化資料準備 url,mobile,code

2)例項化 apilogin()類並呼叫登入方法

3)斷言 響應資訊 、響應狀態碼

解決資料儲存問題data資料夾中建立乙個login.json的檔案

步驟:

編寫資料儲存檔案login.json

data資料夾

編寫讀取json工具
tools資料夾

# 導包

# 新建讀取工具類

1.使用初始化方法,獲取要讀取的檔名稱

1)self.filepath = '.../data/'+filename

2. 讀取檔案方法

1)開啟json檔案獲取檔案流

2)呼叫load方法載入檔案流

3)返回結果

使用引數化動態獲取引數資料

parameterized引數化元件

pip install parameterized

@parameterized.expand(引數)

1). 單個引數:列**式 [值1,值2]

2). 多個引數:列表巢狀元組[(引數1),(引數2)]

// 導包

import unittest

from parameterized import parameterized

// 新建測試類

class testpara(unittest.testcase):

// 新建測試方法

python介面自動化測試

為了監控線上的介面是否正常執行,所以想寫乙個smoke test.這個檔案希望能夠實現從檔案讀取url和引數,然後傳送請求,校驗返回code 200的功能。1.首先採取哪種方式存放url和請求引數 excel?csv?ini?用csv比較好,相容性也比較好 那我們使用csv吧。todo 考慮放在資料...

python介面自動化測試

介面自動化測試之連線資料庫 安裝環境 window7 python3.7 資料庫mysql 遠端連線 步驟內容 1.連線資料庫 2.建立游標 3.sql語句 4.獲取元組資訊 連線資料庫 查詢出來的資料都是以元組的形式返回的 sql select from t user where id 5 查詢多...

python介面自動化 單介面測試

介面測試之前要先知道乙個單元測試模組,那就是unittest,這個模組由5部分組成 testcase 寫用例的,所有用例都寫在這裡邊 testsuite 測試套件,收集用例 testloader 載入用例 testrunner 執行用例 testfixture 測試準備和善後工作,分為setup和t...