Python:讀取yml檔案,掉用介面,檢查結果
阿新 • • 發佈:2020-07-23
yaml檔案:
-
url : http://118.24.3.40/api/user/login
method : post
detail : 登入介面
data :
username : houning
password : 123456
check :
error_code : 3001
msg : 必填引數未填!請檢視介面文件!
用例python檔案:
import unittest,ddt
import requests,json,yaml
@ddt.ddt
class Test11(unittest.TestCase):
@ddt.file_data('11a.yaml')
def test(self,**test_data):url = test_data.get('url')
method = test_data.get('method').upper()
detail = test_data.get('detail', '沒寫用例描述') # get不到,就預設取'沒寫用例描述'值
self._testMethodDoc = detail # 新增用例描述
data = test_data.get('data', {}) # 請求資料,沒有請求資料,就為空
headers = test_data.get('headers', {}) # 請求頭,沒有請求頭,就為空cookies = test_data.get('cookies', {})
is_json = test_data.get('is_json', 0) # 標識入參是否為json
check = test_data.get('check') # 斷言
print(check)
res=requests.post(url,data=data).text
for i in json.dumps(check,ensure_ascii=False).lstrip('{').rstrip('}').split(','):
# i=json.dumps(i,ensure_ascii=False).lstrip('{').rstrip('}')
print(i)
self.assertIn(i,res,'%s不通過'%i)
# @ddt.ddt
# class Test11(unittest.TestCase):
# with open('11a.yaml',encoding='utf-8') as fr:
# data=yaml.load(fr)
# print(data)
# @ddt.data(data)
# def test(self,test_data):
# url = test_data[0].get('url')
# method = test_data[0].get('method').upper()
# detail = test_data[0].get('detail', '沒寫用例描述') # get不到,就預設取'沒寫用例描述'值
# self._testMethodDoc = detail # 新增用例描述
# data = test_data[0].get('data', {}) # 請求資料,沒有請求資料,就為空
# headers = test_data[0].get('headers', {}) # 請求頭,沒有請求頭,就為空
# cookies = test_data[0].get('cookies', {})
# is_json = test_data[0].get('is_json', 0) # 標識入參是否為json
# check = test_data[0].get('check') # 斷言
# print(check)
#
# res=requests.post(url,data=data).text
# for i in check:
# i=json.dumps(i,ensure_ascii=False).lstrip('{').rstrip('}')
# print(i)
# self.assertIn(i,res,'%s不通過'%i)
unittest.main()