#读取yaml文件
import yaml, os
class Conf(object):
def __init__(self, file):
self.file = file
def readYaml(self, sec, key):
with open(self.file, encoding='utf-8') as fp:
result = yaml.load(fp, Loader=yaml.FullLoader)
return result[sec][key]
file = os.path.join(os.path.dirname(__file__), 'data.yaml')
con = Conf(file)
print(con.readYaml('Server','data'))
#yaml保存接口参数
Server:
url: https://dev.10028.com.cn/api/ih/login
data:
-
account: admin
password: 123456
-
account: admins
password: 123456
-
account: admin
password: 123456s
#测试用例编写
import unittest
import ddt
import requests
from E.ReadYaml import con
testData = con.readYaml('Server', 'data')
@ddt.ddt
class T(unittest.TestCase):
def setUp(self) -> None:
self.url = con.readYaml('Server', 'url')
print(self.url)
@ddt.data(*testData)
def test(self, testData):
r = requests.post(self.url, json=testData)
print(r.json())
def tearDown(self) -> None:
pass
if __name__ == "__main__":
unittest.main()
#测试结果
[{'password': 123456, 'account': 'admin'}, {'password': 123456, 'account': 'admins'}, {'password': '123456s', 'account': 'admin'}]
Process finished with exit code 0
{'statusCode': '200', 'result': {'cityId': None, 'wapUrl': None, 'autonymState': None, 'buildingAuthority': None, 'state': None, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImhvc3BpdGFsSWQiOm51bGwsImNyZWF0ZWQiOjE1ODQ1ODQ3MjMzMzYsIm1hbmFnZU5hbWUiOiLotoXnuqfnrqHnkIblkZgiLCJleHAiOjE1ODQ1OTkxMjMsImp0aSI6NDd9.OA7rPHNQUc00l7MHTsi3iBn3T0LRkZOHD1H6-eQY-eRVwEjEfziblOWU_x1wSBlaa3N8xPl6AOZUaODfhq2rPA', 'account': 'admin', 'idCard': None, 'intro': None, 'birthday': None, 'hospitalName': None, 'deptId': None, 'password': 'd4b1e5ad9acc7dcd5a850fdbf0f556f6', 'deptName': None, 'id': 47, 'isDel': None, 'provinceId': None, 'quartersId': None}, 'message': '登录成功'}
{'statusCode': '300', 'result': None, 'message': '账号或者密码错误'}
Ran 3 tests in 0.466s
OK
{'statusCode': '300', 'result': None, 'message': '账号或者密码错误'}