一、数据驱动
1.1 什么是数据驱动
数据驱动:是以数据来驱动整个测试用例的执行,也就是测试数据决定测试结果。
1.2 测试数据的来源
- 直接定义在测试脚本中(简单直观,但代码和数据未实现真正的分离,不方便后期的维护)
- 从文件读取数据,如JSON,excel,xml,txt等格式文件
- 从数据库中读书数据
- 直接调用接口获取数据源
- 本地封装一些生成数据的方法
二、JSON介绍
JSON的全称是"JavaScript Object Notation",是JavaScript对象表示法,它是一种基于文本、独立于语言的轻量级数据交换格式。
2.1 JSON特点
- JSON是纯文本,后缀为 .json
- JSON具有良好的自我描述性,便于阅读和编写
- JSON具有清晰的层级结构
- 有效的提升网络传输效率
2.2 JSON语法
花括号包含键值对,键与值之间使用冒号,键值对之间使用逗号分割。
2.3 json与dict的转换
import json
if __name__ == '__main__':
"""
将dict格式转化成json字符串
"""
dict_data = {
"name": "李丽",
"age": 18
}
print("dumps转换前的类型:", type(dict_data))
json_str = json.dumps(dict_data)
print("dumps转换后的类型:",type(json_str))
"""
将json字符串转化成dict格式:要转化成dict格式的json字符串的属性名必须使用双引号"
"""
js_str = '{"name":"张三","age":14}'
print("loads转换前类型:", type(js_str))
d_data = json.loads(js_str)
print("loads转换后类型:", type(d_data))
"""
打印结果:
dumps转换前的类型: <class 'dict'>
dumps转换后的类型: <class 'str'>
loads转换前类型: <class 'str'>
loads转换后类型: <class 'dict'>
"""
2.4 json文件的读写
import json
if __name__ == '__main__':
"""
写json文件
"""
data = {"name":"张三","age":23}
with open("data.json",'w',encoding="utf-8") as f:
json.dump(data,f,ensure_ascii=False) #dump 写json数据
"""
读json文件,load读取json文件返回的数据类型是dict,那么就可以使用dict的语法方便的获取key,value
"""
with open("data.json","r",encoding="utf-8") as f:
resault = json.load(f) # load 读json数据
print(resault)
print(type(resault))