02_demo_測試資料分離【API】
阿新 • • 發佈:2022-03-29
#!/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()方法的使用 --------------------- '''