注:
(1)yaml文件详解
yaml是一种数据格式,类似txt,excel,json
它只有两种数据类型:
map对象(键值对,冒号后需要有空格)
list列表对象,以-开头
读取之后是一个不定长的字典形式 用不定长的参数接收**args
import unittest
from ddt import ddt,data,unpack,file_data@ddt
class TestApi(unittest.TestCase):# @file_data('yaml_06.yaml')# yaml_06.yml文件是[{"name":ddd,"testage":123},"name2":test2,"name3":test3]# 在yaml_06.yml文件中,相当于执行三次测试用例,# 第一次获取到的数据是name:....# 第二次获取到的数据是name2: test2# 第三次获取到的数据是name3:test3# 如果yaml文件以list形式开始,则key或者value值应保持一致# 如:["name":ddd,","name2:test2,"name":test3] key保持一致 for instance:yaml_06_1.yaml# or [1,2,3,4] value类型保持一致'''yaml_06.yaml:- name: 1.获取接口统一鉴权码token接口request:method: geturl: https://www.baidu.comdata:grant_type: client_credentialappid: 114secret: 121443validate:-equals: 1-contains: "access_token"- name2: test2- name3: test3'''@file_data('yaml_06.yaml')def test_01_get_token(self, **kargs):print(kargs)# print(kargs['name']) # 此处会有错误,是第二次执行此用例时,name关键字没有# print(kargs[0]['request']['method'])# print(kargs[1]['name2'])'''yaml_06_1.yaml:- name: 1.获取接口统一鉴权码token接口request:method: geturl: https://www.baidu.comdata:grant_type: client_credentialappid: 114secret: 121443validate:-equals: 1-contains: "access_token"- name: test2- name: test3'''@file_data('yaml_06_1.yaml')def test_02_get_token(self,**kargs):print(kargs)print(kargs['name']) #此处会有错误,是第二次执行此用例时,name关键字没有# print(kargs[0]['request']['method'])# print(kargs[1]['name2'])'''yaml_06_2.yaml- 1- 2- 3- 4'''@file_data('yaml_06_2.yaml')def test_03_get_token(self, kargs):print(kargs)