最近在学习httprunner,测试用例采用YAML/JSON
的形式描述,由于首次接触YAML,在运行YAML文件的用例时,经常报错。因此,通过网上资料学习了YAML语法格式。
功能
YAML的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。
httprunner测试框架支持用YAML的形式描述测试场景,通过python操作。
基本格式要求
- YAML大小写敏感;
- 使用缩进代表层级关系;
- 缩进只能使用空格,不能使用TAB(不要求缩进空格数量,但需同级统一);
- 使用.yml作为扩展名
- 使用#注释,仅支持单行注释。
YAML文件的基本组件
YAML的基本组成部分如下所述 -
常规块格式
此块格式使用连字符+
空格开始指定列表中的新项目。观察下面显示的示例 -
--- # Favorite movies
- Casablanca
- North by Northwest
- The Man Who Wasn't There
内联格式
内联格式用逗号和空格分隔,每个项目用JSON括起来。 观察下面显示的示例 -
--- # Shopping list
[milk, groceries, eggs, juice, fruits]
折叠文字
折叠文本将换行符转换为空格并删除前导空格。 观察下面显示的示例 -
- {name: John Smith, age: 33}
- name: Mary Smith
age: 27
遵循YAML所有基本惯例的结构如下所示 -
men: [John Smith, Bill Jones]
women:
- Mary Smith
- Susan Williams
//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/yaml/yaml_basics.html
支持的数据结构:
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- 字面量(数字、字符串、布尔值)):单个的、不可再分的值
具体的写法:
- 对象
多行写法:key:value的形式,使用多行写法需要注意缩进
单行写法:使用{key:value}的形式书写
#多行结构
friend:
name:zhangsan
age:20
#单行结构
friend:{name:zhangsan,age:20}
- 数组
多行写法:使用- 值(连字符+空格)
来表示数组中的一个元素,需要注意缩进
单行写法:使用[值,值]
来表示一个数组,值与值之间用逗号分隔
#多行结构
friends:
- zhangsan
- lisi
- wangwu
#单行结构
friend:[zhangsan,lisi,wangwu]
- 字面量(数字、字符串、布尔值)
k: v :字面量直接写,字符串默认不用加上单引号或者双引号
双引号:不会转义字符串里边的特殊字符;特殊字符会作为本身想表示的意思
单引号:会转义特殊字符
name: zhangsan
age: 20
isBoss: false