Commit 73fedb89 authored by 刘丙寅's avatar 刘丙寅

切换报警

parent e6609073
import requests
import sys,os
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
import unittest
from interface import interface_method
from interface.login import my_session
from requests.cookies import cookiejar_from_dict
from pprint import pprint
from ddt import ddt,data
import jsonpath
import yaml
#获取上级目录路径
path = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
# 拼接需要的目录
path = os.path.join(path,"test_yaml","om_channelmanagement.yaml")
# 打开文件夹 读取数据
file1 = open(path,'r', encoding="utf-8")
file2 = file1.read()
file3 = yaml.load(file2)
# print("所有数据列表陈列:开始")
# pprint(file3)
# print("所有数据列表陈列:结束"+ '\n')
#
@ddt
class case(unittest.TestCase):
@data(*file3)
def test_01_clientreview(self,contents):
'客户渠道管理相关接口'
URL = interface_method.om_host + interface_method.om_source_type
body = contents.get("request").get("body")
# if body:
result = my_session.get(url=URL, params=body)
# else:
# result = my_session.get(url=URL)
res = result.json()
print("真实数据返回开始")
pprint(res)
print("真实数据返回结束")
response = contents.get("request").get("response")
for k, v in response.items():
# k是配置参数里面的路径 通过k设定 去res里面找到实际的数据。 由于jsonpath返回的是一个列表 所以要用【0】处理。返回回去的就是一个取出来的数值 eg:"data.0.doctor_id"
print(res, k)
res_response = jsonpath.jsonpath(res, k)[0]
v = eval(v)
# assertmethod = self.assertEqual/self.assertIsInstance 取决于上面参数内写的是什么方法。 作用: getattr(object, name) = object.name
for i in range(len(v)):
# self.assertEqual("") 第一个参数 可能不是assertEqual 所以必须用getattr去拼接 去拿。
assertmethod = getattr(self, v[i][0])
# 下面和这个语句一个意思 self.assertEqual(res_response, v[i][1])
assertmethod(res_response, v[i][1])
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment