注:
(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: get
url: https://www.baidu.com
data:
grant_type: client_credential
appid: 114
secret: 121443
validate:
-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: get
url: https://www.baidu.com
data:
grant_type: client_credential
appid: 114
secret: 121443
validate:
-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)