02_demo_测试数据分离【API】

#!/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()方法的使用
---------------------
'''

   

 

posted @ 2022-03-29 15:09  幸福在今天  阅读(46)  评论(0)    收藏  举报