#!/usr/bin/env python3
#-*- coding: utf-8 -*-
"使用config.ini、以及login.yaml存储测试数据,实现测试数据分离"
__author__ = 'Vera'
import configparser
import json
import yaml
import requests
#组装参数
#从config/config.ini 文件读取hostURL
'''
[DEFAULT]
host_url=https://www.baidu.com
'''
conf=configparser.ConfigParser()
conf.read('../02_config/config.ini')
host=conf.get('DEFAULT','host_url')
#从data/login00.yaml 文件读取接口path、请求参数、请求header
'''
path: /byLogin
data:
loginAccount: 81881207
password: 1207
headers:
content-type: application/json
clienttype: ANDROID
appcode: APP
timezone: UTC+8
language: en_US
version: 1.2.7
'''
file=open('../02_data/login00.yaml','r')
dataFromFile=yaml.load(file,yaml.FullLoader)
print('从login00.yaml 测试数据文件读取的数据类型是:',type(dataFromFile))
urlTarget=host+dataFromFile['path']
parameter=json.dumps(dataFromFile['data'])
header=dataFromFile['headers']
#模拟post请求
res=requests.post(url=urlTarget,data=parameter,headers=header)
print('请求报文',urlTarget,parameter,header)
print('期望post的data为str类型',type(json.dumps(dataFromFile['data'])))
print('响应结果是:',res.text)
#提取响应报文的数据
res_json=json.loads(res.text)
expect01=res_json['message']
print('预期返回是success,实际返回结果:',expect01)
#断言校验
assert 'SUCCESS' == expect01, '校验不通过:通过手机号查询租户信息失败'
'''
---------------------
需要了解一下 configparser 这个模块、yaml这个模块的使用
json.dump() \json.load()方法的使用
---------------------
'''