当前位置: 首页 > news >正文

找私人做网站热点 做网站和营销 我只服他

找私人做网站,热点 做网站和营销 我只服他,企业系统查询,网站服务器续费自动化测试数据:如何正确地选择不同格式文件「详细介绍」? 前言1. 不同的格式文件对比2. 读取文件2.1 读取Excel文件2.2 读取CSV文件2.3 读取YAML文件2.3.1 字典2.3.2 列表2.3.3 混合类型2.3.4 包含列表的字典2.3.5 包含字典的列表2.3.6 复杂嵌套 2.4 读…

自动化测试数据:如何正确地选择不同格式文件「详细介绍」?

  • 前言
  • 1. 不同的格式文件对比
  • 2. 读取文件
    • 2.1 读取Excel文件
    • 2.2 读取CSV文件
    • 2.3 读取YAML文件
      • 2.3.1 字典
      • 2.3.2 列表
      • 2.3.3 混合类型
      • 2.3.4 包含列表的字典
      • 2.3.5 包含字典的列表
      • 2.3.6 复杂嵌套
    • 2.4 读取JSON文件
    • 2.5 读取XML文件

前言

在自动化测试中,可以使用不同格式的数据文件,以数据驱动的方式执行测试。下面教大家如何根据实际使用场景,选择正确的文件格式来驱动测试、读取不同文件的数据。

1. 不同的格式文件对比

文件格式优点缺点
Excel- 生成数据方便
- 用户界面友好
- 易于编辑和查看
- 作为二进制文件,不利于版本管理
- 一张工作表最多有256列,65536行
- 只支持单事务,如需多线程读取会有瓶颈
CSV- 结构简单
- 可用Excel编辑,可与Excel进行转换
- 处理速度快
- 文件格式方便版本管理
- 不容易描述复杂的层级结构
YAML- 格式完备
- 可读性好
- 可以注释
- 格式简单
- 处理速度随着数据量增加而显著下降
- 不适合处理海量数据
XML- 格式完备- 冗长复杂
JSON- 格式完备
- 可读性良好
- 不能编写注释
- 格式死板

根据以上表格,我们可以得出以下结论:

  • YAML和JSON对于数据结构的支持和书写程度较好,但是YAML写法更加简洁且可以添加注释,推荐YAML文件格式;
  • 当存在海量数据需要读取时,YAML的处理速度会比Excel慢一个量级,所以YAML更适合做单条用例或者少量用例的测试
  • 对于大量数据的测试CSV格式由于其简单和快速的处理速度,可能是更好的选择。

2. 读取文件

以下是使用Python语言读取Excel、CSV、YAML、JSON和XML文件的示例方法。

2.1 读取Excel文件

读取Excel文件,可以使用openpyxl库(对于.xlsx文件)或xlrd库(对于.xls文件)。

import openpyxldef read_excel(file_path, sheet_name=0):workbook = openpyxl.load_workbook(file_path)sheet = workbook[sheet_name]data = []for row in sheet.iter_rows(values_only=True):data.append(row)return data

2.2 读取CSV文件

Python内置了csv模块,可以很方便地读取CSV文件。

import csvdef read_csv(file_path):with open(file_path, newline='', encoding='utf-8') as csvfile:reader = csv.reader(csvfile)data = [row for row in reader]return data

2.3 读取YAML文件

读取YAML文件可以使用PyYAML库。

import yamldef read_yaml(file_path):with open(file_path, 'r') as file:data = yaml.safe_load(file)return data

2.3.1 字典

# 示例配置文件:example.yaml
个人信息:姓名: 王小明年龄: 28
import yamldef read_yaml(file_path):with open(file_path, 'r', encoding='utf-8') as file:  # 确保文件编码为utf-8,以支持中文data = yaml.safe_load(file)return datadata = read_yaml('example.yaml')
print(data)  # 输出:{'个人信息': {'姓名': '王小明', '年龄': 28}}

2.3.2 列表

# 示例配置文件:example.yaml
喜欢的水果:- 苹果- 香蕉- 樱桃
import yamldef read_yaml(file_path):with open(file_path, 'r', encoding='utf-8') as file:data = yaml.safe_load(file)return datadata = read_yaml('example.yaml')
print(data)  # 输出:{'喜欢的水果': ['苹果', '香蕉', '樱桃']}

2.3.3 混合类型

# 示例配置文件:example.yaml
个人资料:姓名: 王小明年龄: 28爱好:- 阅读- 游泳住址:街道: 789 大街城市: 未来城
import yamldef read_yaml(file_path):with open(file_path, 'r', encoding='utf-8') as file:data = yaml.safe_load(file)return datadata = read_yaml('example.yaml')
print(data)  # 输出:{'个人资料': {'姓名': '王小明', '年龄': 28, '爱好': ['阅读', '游泳'], '住址': {'街道': '789 大街', '城市': '未来城'}}}

2.3.4 包含列表的字典

# 示例配置文件:example.yaml
人员列表:- 姓名: 王小明年龄: 28- 姓名: 李小红年龄: 25
import yamldef read_yaml(file_path):with open(file_path, 'r', encoding='utf-8') as file:data = yaml.safe_load(file)return datadata = read_yaml('example.yaml')
print(data)  # 输出:{'人员列表': [{'姓名': '王小明', '年龄': 28}, {'姓名': '李小红', '年龄': 25}]}

2.3.5 包含字典的列表

# 示例配置文件:example.yaml
用户数据:- 用户: 小明编号: 1- 用户: 小红编号: 2
import yamldef read_yaml(file_path):with open(file_path, 'r', encoding='utf-8') as file:data = yaml.safe_load(file)return datadata = read_yaml('example.yaml')
print(data)  # 输出:{'用户数据': [{'用户': '小明', '编号': 1}, {'用户': '小红', '编号': 2}]}

2.3.6 复杂嵌套

# 示例配置文件:example.yaml
公司信息:名称: xx科技有限公司员工:- 姓名: 王小明职位: 开发人员- 姓名: 李小红职位: 经理地址:街道: 1010 月光路城市: 月光城
import yamldef read_yaml(file_path):with open(file_path, 'r', encoding='utf-8') as file:data = yaml.safe_load(file)return datadata = read_yaml('example.yaml')
print(data)  # 输出:{'公司信息': {'名称': 'xx科技有限公司', '员工': [{'姓名': '王小明', '职位': '开发人员'}, {'姓名': '李小红', '职位': '经理'}], '地址': {'街道': '1010 月光路', '城市': '月光城'}}}

2.4 读取JSON文件

读取JSON文件可以使用Python内置的json模块。

import jsondef read_json(file_path):with open(file_path, 'r', encoding='utf-8') as jsonfile:data = json.load(jsonfile)return data

2.5 读取XML文件

对于XML文件的读取,Python提供了几种不同的库,其中最常用的是xml.etree.ElementTree。

import xml.etree.ElementTree as ETdef read_xml(file_path):tree = ET.parse(file_path)root = tree.getroot()data = []for child in root:record = {}for subchild in child:record[subchild.tag] = subchild.textdata.append(record)return data
http://www.yayakq.cn/news/769770/

相关文章:

  • 重庆建站程序深圳网站搭建价格
  • 加强公司窗口网站建设免费的招标网站有哪些
  • 网站 用什么语言如何用网站做招聘
  • 网站内容更新电商网站储值消费系统
  • 山东网站建设价格中国建筑工程承包网
  • 阿里云iot网站开发WordPress 主题 a5
  • 哪个学校有网站建设网站建设下一步工作计划
  • 做网站的说3年3年包括什么多用户商城是什么意思
  • 广州牌具做网站的公司做网站需要具备什么要求
  • 如何在网站找做贸易的客户网站开发顶岗周记
  • 网站建设中敬请期待洛可可设计公司好进吗
  • 大兴网站建设费用wordpress主题 四亩田
  • 禹城网站制作全国最缺工100个职业排行榜
  • 网站开发 技术路线网站设置不安全
  • 揭阳网站建设策划方案免费做手机网站有哪些
  • asp网站源码免费下载台州优秀关键词优化
  • 永年网站建设松江营销型网站建设公司
  • 网站制作网站建设单位东莞seo建站优化工具
  • 理财网站模版杭州seook优屏网络
  • 深圳送花网站哪个好网络运维工作内容及过程
  • 浅谈企业网站建设的目标宁波网站建设相信荣胜网络
  • 中卫网站设计在哪里网络服务商能删除网站
  • 创建软件网站公司网页怎么修改
  • 1280的界面网站做多宽新网站快速收录
  • 横琴新区公共建设局网站了解深圳网站页面设计
  • 浙江建设网站是多少为什么说能进中交不进中建
  • 冠县品牌网站建设推广一个人建设小型网站
  • 网站建设z上海网站建设 推荐站霸网络
  • 汽车4s店网站建设方案百度问问
  • 做网站充值犯法吗谷歌seo怎么做