介面自動化測試框架python requests

2021-10-24 09:37:21 字數 2115 閱讀 6412

介面封裝(將介面封裝成物件,類似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 介面操作,容易上手...