Python:读取yml文件,掉用接口,检查结果

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()
 

猜你喜欢

转载自www.cnblogs.com/hesperid/p/13367872.html