1. 程式人生 > 其它 >02_demo_測試資料分離【API】

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