介面封裝(將介面封裝成物件,類似pageobject封裝)
資料封裝(資料與**分離,資料存放在yaml檔案中)
配置檔案(實現全域性配置)
utils(其他功能封裝)
測試用例(呼叫介面物件實現業務並斷言)
requests、pytest、allure等
base_api.py
import requests
class
baseapi
:def
send
(self, req:
dict):
pprint(req)
r = requests.request(
**req)
pprint(r.json())
return r.json(
)
api.py
from base_api import baseapi
class
api(baseapi)
:def
api(self,old_name,new_name)
: data =
,"json":]
}}return self.send(data)
load_file.py
import yaml
class
loadfile
:def
load_yaml
(self,
file):
with
open
(file
,"r"
, encoding=
"utf8"
)as f:
return yaml.safe_load(f)
data.yaml
-
- old_name1
- old_name2
-- new_name1
- new_name2
env.yaml
全域性變數可放在配置檔案中
url
:
常用的方法可以放在這裡,比如load_file.py
load_file.py
import yaml
import csv
class
loadfile
:def
load_yaml
(self, yaml)
:with
open
(file
,"r"
, encoding=
"utf8"
)as f:
return yaml.safe_load(f)
defload_csv
(self, csv)
:with
open
(file
,"r"
, encoding=
"utf8"
)as f:
return csv.reader(f)
test_api.py
from api import api
from load_file import loadfile
import pytest
class
testapi
: data = loadfile(
).load_yaml(
"data.yaml")
@classmethod
defsetup_class
(cls)
: cls.api = api()
@pytest.mark.parametrize(
"old_name,new_name"
, test_data)
deftest_api
(self, old_name, new_name)
: r = self.api.api(old_name, new_name)
assert r.errcode ==
0
Python介面自動化測試框架
2.建立基本的專案框架目錄 common存放常用工具檔案 my requests.py封裝自己的常用請求庫 my logger.py自己封裝的日誌模組 file handler.py資料檔案解析 test cases存放自動化測試 test data存放所有的測試資料 venv建立虛擬環境自動生成的...
Python介面自動化測試框架 六
前面已經分享五篇了,第一篇 第二篇 第三篇 第四篇 第五篇,繼續 介面自動化測試框架的 category,有興趣,可以看看。個人部落格 使用allure2來生成報告,如何來做?def pytest allure allure 生成報告 路徑在reports alluredir 生成report目錄存...
介面測試自動化框架彙總
前兩篇文章我們介紹了如何使用postman和curl手工執行介面測試用例,不過如果專案需要長期開發和維護的話,我們就需要開始考慮自動化測試了。自動化測試第一步就是框架選型。所以本篇將介紹目前主流的介面測試框架,以及它們各自的優缺點。名稱優點 缺點官網 postman newman 介面操作,容易上手...