首页 前端知识 数据驱动json

数据驱动json

2024-06-26 23:06:08 前端知识 前端哥 207 728 我要收藏

数据驱动概念

数据驱动定义:

数据驱动: 是以数据来驱动整个测试用例的执行, 也就是测试数据决定测试结果

数据驱动的特点

  • 可以把数据驱动理解为一种模式或者一种思想。
  • 将用户把关注点放在对测试数据的构建和维护上, 而不是直接维护脚本, 可以利用同样的过程对不同的数据输入进行测试。
  • 数据驱动的实现要依赖参数化的技术

数据驱动 = 数据存储文件+数据读取工具+参数化技术

传入数据的方式(测试数据的来源)

  • 直接定义在测试脚本中(简单直观, 但代码和数据未实现真正的分离, 不方便后期维护)
  • 从文件读取数据, 如JSON、 excel、 xml、 txt、csv等格式文件
  • 从数据库中读取数据
  • 直接调用接口获取数据源
  • 本地封装一些生成数据的方法

JSON操作

JSON介绍

JSON的全称是”JavaScript Object Notation”, 是JavaScript对象表示法, 它是一种基于文本, 独立于语言的轻量级数据交换格式

JSON特点

  • JSON是纯文本
  • JSON具有良好的自我描述性, 便于阅读和编写
  • JSON具有清晰的层级结构
  • 有效地提升网络传输效率

JSON语法规则

  • 大括号保存对象
  • 中括号保存数组
  • 对象数组可以相互嵌套
  • 数据采用键值对表示
  • 多个数据由逗号分隔

JSON在线解析及格式化验证 - JSON.cn

JSON值

JSON 值可以是:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在中括号中)
  • 对象(在大括号中)
  • null

示例:

{
    "name":"tom",
    "age":18,
    "isMan":true,
    "school":null,
    "address":{
        "country":"中国",
        "city":"江苏苏州",
        "street":"科技园路"
    },
    "numbers":[2,6,8,9],
    "links":[
        {
            "name":"Baidu",
            "url":"http://www.baidu.com"
        },
        {
            "name":"TaoBao",
            "url":"http://www.taobao.com"
        }
    ]
}

Json与字典之间的转换

字典转换为json

方法:dumps()

步骤:

1、导包

import json

2、调用方法

json.dumps(data_dict)

示例: 

# 导包
import json

"""1. 将python字典转为 json 字符串"""
# 定义字典
data_dict = {"name": "张三","age": 18}
print("未转换之前类型:", type(data_dict))
# 字典转换为字符串
data_json = json.dumps(data_dict)
print(data_json)
print("转换之后类型:", type(data_json))
json转换为字典

方法:loads

步骤:

1、导包

import json

2、调用方法

json.loads(data_json)

示例 

# 定义json字符串
data_json = '{"name":"张三", "age":18}'
# 错误写法,注意:键名必须是双引号
# data = "{'name':'张三', 'age':18}"
print("未转换之前类型:", type(data_json))
# json字符串转换为字典
data_dict = json.loads(data_json)
print(data_dict)
print("转换之后类型:", type(data_dict))

json的读写

读取json文件

方法:load(文件流)

# 导包

import json

#获取文件流病调用load方法

with open('data.json',encoding = 'UTF-8') as f:
    # 返回的数据类型为字典或列表
    data = json.load(f)

 示例:

"""
    目标:读取
    方法:load
"""
# 导包 json
import json
# 获取文件流 并调用 load方法
with open("../data/login.json", "r", encoding="utf-8") as f:
    data = json.load(f)
    print(data)
写入json文件

方法:dump(字典数据,文件流)

# 导包

import json

# 获取文件流病调用dump方法

data = {'name','tom','age','20'}

with open('data2.json','w',encodig = 'UTF-8') as f:

        json.dump(data,f)

示例: 

"""
    目标:写入json
    方法:
        json.dump(写什么数据(字典数据),往那写(文件流))
"""
import json

"""json写入"""
# 定义写入内容
# data = {"name":"monkey", "age":10}
data = {"name":"猴子", "age":10}
# 调用写入方法
with open("../data/data02.json", "w", encoding="utf-8") as f:
    "ensure_ascii: 不使用ascii码"
    json.dump(data, f, ensure_ascii=False)



 

转载请注明出处或者链接地址:https://www.qianduange.cn//article/13630.html
标签
测试用例
评论
发布的文章

JSON、Ajax

2024-07-27 22:07:31

JsonNode、ObjectNode和ArrayNode

2024-07-27 22:07:30

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!