pytest + requests 搭建接口自動化框架及流程


接口自動化腳本

接口自動化是是可以完全貼合 整個自動化測試框架的

可以結合 pytest 以及 unittest 進行接口框架的編寫

 

接口自動化測試體現流程

項目頁面 - 接口文檔 - 接口用例 - python腳本 - pytest框架 - 用例執行 - 測試報告 - 結果分析 - jenkins集成

 

搭建測試框架的思路

  核心技術:request發起請求,yaml作為配置,Excel寫入用例,數據驅動結合pytest對用例管理,

       git管理代碼,jenkins持續集成,或者是docker容器

 

先對代碼封裝

import requests
import json
import pytest


class Test_Case:

def test_home_page(self):

# 確定url
url = 'http://mp-meiduo-python.itheima.net/'
# 發起請求
res = requests.get(url=url)
assert res.status_code == 200



def test_login(self):
# 登錄url
url = 'http://mp-meiduo-python.itheima.net/login/'

# 傳入請求頭
data = {
'username': 'admin',
'pwd': 'admin'
}
# 如果請求類型 為json 就需要轉碼
# data = json.dumps(data)

res = requests.post(url=url, data=data)
assert res.status_code == 200

if __name__ == '__main__':

# 執行指定接口測試用例文件 或生產測試報告
pytest.main(['-s','test.py','--html=my_case.html'])

 

結合數據驅動

class Test_Case:

@pytest.mark.parametrize('url',[
('http://mp-meiduo-python.itheima.net/')
])
def test_home_page(self,url):

res = requests.get(url=url)
assert res.status_code == 200


@pytest.mark.parametrize('url,data',[
('http://mp-meiduo-python.itheima.net/login/',{'username': 'admin',
'pwd': 'admin'})
])
def test_login(self,url,data):

url = url

data =data

# data = json.dumps(data)

res = requests.post(url=url, data=data)
assert res.status_code == 200

if __name__ == '__main__':

pytest.main(['-sv','test.py','--html=my_case.html'])

 

后期可以把get 與 post請求的參數都存入到數據驅動 對get類或post類進行寫入

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM