火爆全网,HttpRunner自动化测试框架-CSV文件数据(详细总结)

news2024/11/27 8:23:56

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

当数据量比较大的时候,我们希望可以把测试数据写到 CSV 文件中,然后直接引用 CSV 文件数据。

测试场景

如果直接在 YAML/JSON 脚本中指定参数列表内容,那么我们的用例可能就是这样的:

- config:
    name: parameters test
    request:
      base_url: http://api.nnzhp.cn
    parameters:
      - username-passwd:
          - ["niuhanyang", "aA123456"]
          - ["test10101", "fasdfasfa"]
          - ["test1010", "aA123456"]

- test:
    name: login case
    request:
      url: /api/user/login
      method: POST
      headers:
        Content-Type: application/x-www-form-urlencoded
        User-Agent: Fiddler
      data:
        username: $username
        passwd: $passwd
    validate:
      - eq: [status_code, 200]
      - eq: [content.error_code, 0]

上面的用例,只有 3 组测试数据,当我们有10、100组测试数据,如果直接写在测试脚本中,可能会很不方便。

我们可以把这些测试数据都写到CSV文件,然后直接引用CSV文件,这样就方便多了,我们的脚本也显得更加简洁。

CSV中存放单个参数

对于 CSV 数据文件,需要遵循如下几项约定的规则:
文件需放置在与测试用例文件相同的目录中;
CSV 文件中的第一行必须为参数名称,从第二行开始为参数值,每个(组)值占一行;

若同一个 CSV 文件中具有多个参数,则参数名称和数值的间隔符需实用英文逗号。

比如,我们有多组登录的数据,用户名都不一样,但密码都是一样的,我们就可以创建 username.csv,并把 用户名 这一参数写到 username.csv 中,如下:

username
niuhanyang
test10101
test1010

然后在 YAML/JSON 测试用例中,就可以通过 HttpRunner 内置的 parameterize(可简写为P)函数引用 CSV 文件。

parameters:
  - username: ${P(username.csv)} # 或者 ${parameterize(username.csv)}
  - passwd: ["aA123456"]

注意:HttpRunner中,在 parameters 中指定的参数名称必须与 CSV 文件中第一行的参数名称一致。

CSV中存放多个参数

对于具有关联性的多个参数,比如,我们有多组登录的数据,用户名和密码都不一样,那么我们可以创建 user.csv ,并把用户名和密码的参数写到 user.csv 中。

如下:

username,passwd
niuhanyang,aA123456
test10101,fasdfasfa
test1010,aA123456

再修改一下 YAML 脚本:

parameters:
  - username-passwd: ${P(user.csv)} # 或者 ${parameterize(user.csv)}

注意:上面的写法是用户名密码一对一的关系,如果是按下面这样写,那就会是笛卡尔积组合的情况,产生 3 * 3 = 9 种组合。

parameters:
  - username: ${P(user.csv)}
  - passwd: ${P(user.csv)}

另外,在测试脚本中指定参数时,可以只使用部分参数,并且参数顺序无需与 CSV 文件中参数名称的顺序一致。

运行用例

完整的YAML格式用例(test_csv.yml):

- config:
    name: parameters test
    request:
      base_url: http://api.nnzhp.cn
    parameters:
      - username-passwd: ${P(user.csv)} # 或者 ${parameterize(user.csv)}

- test:
    name: login case
    request:
      url: /api/user/login
      method: POST
      headers:
        Content-Type: application/x-www-form-urlencoded
        User-Agent: Fiddler
      data:
        username: $username
        passwd: $passwd
    validate:
      - eq: [status_code, 200]
      - eq: [content.error_code, 0]

在HttpRunner 1.x版本中,引用 CSV 数据文件(如 user.csv),需要将 user.csv 和 test_csv.yml 放在同一目录下,然后在运行用例即可。

运行用例后的报告如下:

C1

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

奋斗是一场离不开汗水的旅程,每一滴汗都铭记奋斗的勇气和执着。放下疑虑,挺起胸膛,迈出坚定的步伐,只有经历风雨才能见到彩虹。

把梦想当作航向,用奋斗驶向理想的彼岸。路途或许艰辛,但每一次磨砺都是成长的印记。坚持与毅力是成功的基石,不屈不挠是实现梦想的密码。相信自己,勇往直前,你将创造出无限可能!

在奋斗的道路上,不要惧怕挑战,因为它们是成长的催化剂。用勇气驱散恐惧,用拼搏书写辉煌,每一次努力都是向未来进发的动力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/858675.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式(4)装饰模式

一、介绍: 1、应用场景:把所需的功能按正确的顺序串联起来进行控制。动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。 当需要给一个现有类添加附加职责,而又不能采用生成子类的方法…

逆向破解学习-雷电星海战歌

apk 雷电星海战歌 https://download.csdn.net/download/AdrianAndroid/88200826 安装apk,并试玩 # 通过关键字搜索jad 找到统一支付接口 找到匿名内部类的名称 Hook代码 public class HookComAstPlane extends HookImpl {Overridepublic String packageNam…

15.4 【Linux】可唤醒停机期间的工作任务

15.4.1 什么是 anacron anacron 并不是用来取代 crontab 的,anacron 存在的目的就在于我们上头提到的,在处理非24 小时一直启动的 Linux 系统的 crontab 的执行! 以及因为某些原因导致的超过时间而没有被执行的调度工作。 其实 anacron 也是…

makefile include 使用介绍

文章目录 前言一、include 关键字1. 语法介绍2. 处理方式示例: 二、- include 操作总结 前言 一、include 关键字 1. 语法介绍 在 Makefile 中,include 指令: 类似于 C 语言中的 include 。将其他文件的内容原封不动的搬入当前文件。 当 …

云仓酒庄给予经销商支持和帮助,为服务好终端架起桥梁

随着经济消费持续复苏,白酒市场也在快速回暖,据相关数据显示,白酒行业营收利润的持续增长,促使不少经销商走入白酒市场这一赛道,品牌经销成为瓜分“蛋糕”的重要方式。同时,不少专注于白酒技术研发、酿造、…

【从0开始离线数仓项目】——数据仓库的环境搭建(1)

目录 一、服务器环境准备 1.2 编写集群分发脚本xsync 1.3 SSH无密登录配置 1.4 JDK准备 1.5 环境变量配置说明 二、集群所有进程查看脚本 三、Zookeeper安装 3.1 分布式安装部署 3.2 ZK集群启动停止脚本 3.3 客户端命令行操作 一、服务器环境准备 CentOS 7 怎么从命…

勘探开发人工智能技术:机器学习(4)

0 提纲 5.1 半监督学习 5.2 主动学习 5.3 代价敏感学习 5.4 多标签学习 5.5 多示例学习 1 半监督学习 用无标签的数据提升学习器的效果. 1.1 基本概念 半监督学习强调的是一种学习场景, 在该场景下, 无标签数据可以协助带标签数据提升预测质量. 监督学习: 训练数据都有标签…

15 款最佳建筑渲染软件,适用于 Windows、macOS,免费和付费版本

3D 建模和渲染在建筑行业的各种项目的推广和营销中发挥着非常重要的作用。建筑公司使用 3D 建模和渲染、3D 建筑动画和演练来展示他们的设计。房地产效果图帮助代理商让客户清楚地了解建筑设计、纹理、灯光效果和环境情况。这是非常有价值的,并且在销售设计时提供了…

【Java可执行程序命令】学习路线攻略,史诗级别全汇总 ~

Java可执行程序命令学习路线攻略 📗文章指路Java可执行命令1、编译工具 javac2、程序启动工具 java3、API文档生成 javadoc4、反编译工具 javap5、打包部署工具 jar6、调试工具 jdb7、C头文件创建 javah8、JWS应用程序启动 javaws9、安装包创建 javapackager10、JAR…

Pytorch基于VGG cosine similarity实现简单的以图搜图(图像检索)

代码如下: from PIL import Image from torchvision import transforms import os import torch import torchvision import torch.nn.functional as Fclass VGGSim(torch.nn.Module):def __init__(self):super(VGGSim, self).__init__()blocks []blocks.append(t…

怎样做接口测试:从入门到精通的指南

怎样做接口测试:从入门到精通的指南 为什么接口测试如此重要? 接口测试在软件开发过程中扮演着关键的角色。它确保不同系统、组件或服务之间的无缝集成和通信。 接口测试的基本概念 接口测试是一种验证软件系统组件之间相互连接的过程。它主要关注数据…

盘点HTTP爬虫ip使用中的误区

嗨!网络冒险家们,你们是否曾经尝试使用HTTP爬虫ip,并遇到了一些问题?别担心!今天,我将与你们分享使用HTTP爬虫ip过程中的一些常见误区,帮助你们更好地理解和应用爬虫ip。让我们一起来揭开这些误…

正确的 Java 异常处理

我们来谈谈痛点吧。由于我的职责,我必须使用许多不同的服务(进行编辑、进行代码审查......);不同的团队通常会编写所有这些服务,每当涉及到处理错误并从服务转发错误时,有时我的眼睛就会开始流泪。让我尝试…

elasticsearch-head可视化安装

一、前言 elasticsearch-head 是用于监控 Elasticsearch 状态的客户端插件,包括数据可视化、执行增删改查操作等。 elasticsearch是通过API方式进行管理的,因此也可以使用postman等工具操作elasticsearch。 二、安装 lasticsearch-head插件是使用Jav…

供应链云仓系统的源码解析

1. 什么是供应链云仓系统 供应链云仓系统是一种基于云计算和大数据技术的物流管理系统,旨在提高供应链的效率和运作能力。该系统通过集成各环节的物流信息,实现实时数据共享和流程连接,从而优化物流运营、提升客户满意度。 2. 源码解析&#…

机器学习深度学习——常见循环神经网络结构(RNN、LSTM、GRU)

👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——RNN的从零开始实现与简洁实现 📚订阅专栏:机器学习&&深度学习 希望文章…

SD-MTSP:杨氏双缝实验优化算法YDSE求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)

一、杨氏双缝实验优化算法YDSE 杨氏双缝实验优化算法(Young’s double-slit experiment optimizer,YDSE)由Mohamed Abdel-Basset等人于2023年提出。 参考文献: [1]Mohamed Abdel-Basset, Doaa El-Shahat, Mohammed Jameel, Moha…

阿里云轻量应用服务器_2核2G3M_108元/年_性能测评

阿里云轻量应用服务器2核2G3M带宽108元一年,系统盘为50GB高效云盘;轻量服务器2核4G4M带宽,60GB高效云盘297.98元12个月。目前轻量应用服务器只有2核2G和2核4G有活动,阿里云百科分享阿里云轻量应用服务器入口: 目录 阿…

【Mybatis】调试查看执行的 SQL 语句

1. 问题场景: 记录日常开发过程中 Mybatis 调试 SQL 语句,想要查看Mybatis 中执行的 SQL语句,导致定位问题困难 2. 解决方式 双击shift找到mybatis源码中的 MappedStatement的getBoundSql()方法 public BoundSql getBoundSql(Object para…

贝锐蒲公英:快速搭建连锁门店监控体系,赋能企业高效管理

随着国民生活水平的提高和零售场景的变革,消费者对于餐饮类目的消费支出不断增加,线下社区生鲜商超作为下沉市场最主要的消费场景之一,蕴藏着巨大价值机会。 对于线下连锁生鲜超市而言,连锁门店多、员工多,门店管理时会…