接口自動化測試框架的搭建


 

 

一.將要測試的接口域名寫入到文件中,如下

macname@MacdeMacBook-Pro Interface-automation-test % cat conf/hostname.yaml 
data: {default_baseurl: 'https://baike.baidu.com', is_passed: true, new_baseurl: 'https://baike.baidu.com'}
macname@MacdeMacBook-Pro Interface-automation-test % 

default_baseurl以及new_baseurl 替換為待測項目的接口域名

 

二.接下來編寫接口用例,所有接口用例都在case文件夾中,里面的每個文件都是一個功能模塊,每個文件中有該功能相關的多個接口,

之所以寫在一個文件中是因為接口間數據傳遞比較簡單,比如創建公司后返回公司的id,用dic字典傳遞給后面的創建訂單接口使用,比如下面是一個功能的接口用例

# coding=utf-8
import json
import logging
import os
import sys
sys.path.append("/".join(os.path.dirname(os.path.abspath(__file__)).split("/")[:-1])+'/lib')
import requests
sys.path.append("../")
from util.getinfolib import GetInfo

#日志使用 log
= logging.getLogger(__name__) class TestUM: def setup_class(self): self.url = GetInfo().go() self.dic = {} self.headers = { 'Accept': 'application/json, text/plain, */*' , 'client': 'ios' , 'Content-Type': 'application/json;charset=UTF-8' , 'Origin': self.url , 'Referer': self.url ,'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36' } # 1 login def test_login(self): service_url = self.url + "/item/%E5%8E%A8%E8%89%BA/2375541?fr=aladdin" payload = {} r = requests.get(service_url, data=json.dumps(payload), headers=self.headers) assert r.status_code == 200 #參考寫法 ''' # 1 login def test_login(self): service_url = self.url + "/login/app" payload = { "username": "shouji(勿刪)", "password": "123" } r = requests.post(service_url, data=json.dumps(payload), headers=self.headers) assert r.status_code == 200 assert r.json()["code"] == 200 self.headers["token"] = r.json()['data']['token'] # 收油人員接受聯單 def test_collections(self): service_url = self.url + "/collections" payload = { "page": 1, "size": 10 } r = requests.get(service_url, data=json.dumps(payload), headers=self.headers) self.dic["collectionId"] = r.json()["data"]["content"][0]["id"] assert r.status_code == 200 assert r.json()["code"] == 200 # 收油人員收油記錄詳情 def test_collectionsDetail(self): service_url = self.url + "/users/collections/" + str(self.dic["collectionId"]) payload = { } r = requests.get(service_url, data=json.dumps(payload), headers=self.headers) assert r.status_code == 200 assert r.json()["code"] == 200 # 收油人員入倉記錄 def test_storage(self): service_url = self.url + "/storage" payload = { "page": 1, "size": 10 } r = requests.get(service_url, data=json.dumps(payload), headers=self.headers) self.dic["storageId"] = r.json()["data"]["content"][0]["id"] assert r.status_code == 200 assert r.json()["code"] == 200 '''

 本地查看接口執行結果

 

github地址

https://github.com/fusu192/Interface-automation-test

  

 

 

 

 

 

 

 

 


免責聲明!

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



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