接口自动化测试数据处理:技术人员必备的一项技能

news/2024/4/25 6:08:25/文章来源:https://blog.csdn.net/mashangtt/article/details/130385864

 目录

 前言:

1.定义测试数据结构

2.从文件中加载测试数据

3.使用faker库生成随机测试数据

4.在测试用例中使用测试数据

总结:


前言:

在进行接口自动化测试时,测试数据的准备和处理是至关重要的一环。测试数据的准确性和完整性直接影响到测试结果的可靠性和有效性。在本文中,我们将讨论在接口自动化测试中如何处理测试数据。

1.定义测试数据结构

测试数据结构定义是测试数据处理的第一步。在进行接口自动化测试时,根据被测接口的输入和输出参数定义相应的测试数据结构。测试数据结构可以使用Python的字典(dict)或类(class)来定义,具体应用取决于测试数据的复杂程度。

以下是一个使用字典定义测试数据结构的例子:

test_data = {'login': {'username': 'testuser','passwor': 'testpwd'},'add_order': {'product_id': 'P001','quantity': 2,'price': 10.0}
}

2.从文件中加载测试数据

当测试数据量比较大时,手动编写测试数据不仅费时费力,而且容易出错。因此,我们通常会将测试数据存储在文件中,并通过代码读取文件中的测试数据。

以下是一个从CSV文件中读取测试数据的例子:

import csvdef load_test_data_from_csv(file_path):test_data = []with open(file_path, 'r') as f:reader = csv.DictReader(f)for row in reader:test_data.append(row)return test_data

以上代码使用Python内置的csv模块读取CSV文件中的测试数据,并将每行数据转换为字典格式,最终返回一个包含所有测试数据的列表。

3.使用faker库生成随机测试数据

在某些情况下,我们需要使用随机测试数据进行接口自动化测试。例如,在进行用户注册接口测试时,每个新注册的用户都需要具有唯一的用户名和邮箱地址。这时,我们可以使用faker库生成随机测试数据。

以下是一个使用faker库生成随机测试数据的例子:

from faker import Fakerdef generate_random_user():fake = Faker()return {'username': fake.user_name(),'email': fake.email()}

以上代码使用faker库生成随机用户名和邮箱地址,并将其封装到字典中作为测试数据返回。

4.在测试用例中使用测试数据

测试数据处理完成后,我们需要在测试用例中使用这些测试数据。在pytest框架中,我们可以通过@pytest.mark.parametrize注解来传递测试数据。

以下是一个使用pytest框架和测试数据的例子:

import pytest@pytest.mark.parametrize('username,password', [('testuser1', 'pwd1'),('testuser2', 'pwd2')
])
def test_login(username, password):# 测试代码pass

以上代码使用pytest框架的@pytest.mark.parametrize注解传递了两组测试数据,分别是(username='testuser1', passwor='pwd1')和(username='testuser2', passwor='pwd2')。在测试用例中,我们可以直接使用这些测试数据进行接口测试。

总结:

综上所述,测试数据处理是接口自动化测试中重要的一环。定义测试数据结构、从文件中加载测试数据、使用faker库生成随机测试数据以及在测试用例中使用测试数据是常见的测试数据处理方式。通过合理地处理测试数据,我们可以提高接口自动化测试的可靠性和有效性。

自动化测试学习步骤框架图:

小编还准备了福利:

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SAP 已根据规则拒绝服务器触发的操作 报错处理

SAP GUI在读取和写入文件的时候,询问是否给与权限,误操作点了否,导致报错如下 解决步骤如下: 点击选项 在下面的界面中依次点击安全配置---》已定制--》打开安全配置 在下面的界面找到你拒绝的条目,双击 将下图下拉框…

python海龟库教学

海龟库: 海龟绘图 “小海龟”turtle是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动&…

Win11打开移动热点后电脑无法上网怎么办?

Win11打开移动热点后电脑无法上网怎么办?有用户将自己的电脑开启移动热点来使用的时候,发现自己的电脑出现了无法上网的情况。那么为什么开启热点之后,就会无法进行上网呢?来看看以下的解决方法分享吧。 Win11打开移动热点无法上网…

【Python】matplotlib画散点图,并根据目标列的类别来设置颜色区间(含源代码及参数解释)

最近在进行绘图时,遇到了matplotlib画散点图,并根据目标列的类别来设置颜色区间的问题,但是实现的过程较为艰辛。 文章目录 一、数据准备二、第一次尝试(失败及其原因)2.1 失败2.2 原因 三、第二次尝试(成功…

算法记录lday3 LinkedList 链表移除 + 链表构建 + 链表反转reverse

今日任务 ● 链表理论基础 ● 203.移除链表元素 ● 707.设计链表 ● 206.反转链表 链表理论基础 建议:了解一下链接基础,以及链表和数组的区别 文章链接:https://programmercarl.com/%E9%93%BE%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A…

JavaWeb搭建| Tomcat配置| Maven依赖|这一篇就够了(超详细)

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:老茶icon 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,计…

记录自己第一次项目管理(附件:WBS计划与会议纪要模板)

记录自己第一次项目管理 前言 20**年新入职到一家公司,刚到就接到紧急任务,因为上一个后端跑路,现在系统上出现接口报错、假接口的问题,客户又着急验收,所以入职之后,一直在着急改代码。最后因为系统没有…

思科模拟器 | 生成树协议STP、RSTP、HSRP配置

一、生成树协议STP 概念介绍: 生成树协议是一种网络协议,用于在交换机之间建立逻辑上的树形拓扑结构避免产生环路。为了完成这个功能,生成树协议需要进行些配置,包括根桥的选举、端口的状态切换等。 步骤明细: 使用思…

游戏测试的面试技巧

游戏测试的面试技巧 1.自我介绍 回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验 ,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入…

实现PXE批量网络装机及kickstrat无人值守安装(富士山终究留不住欲落的樱花)

一、PXE概述和部署PXE批量装机 1.PXE简介 PXE(预启动执行环境,在操作系统之前运行)是由Intel公司开发的网络引导技术,c/s架构,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统…

燃气管道定位83KHZ地下电子标识器探测仪ED-8000操作指南

1、电子标识器探测工作 燃气管道定位83KHZ地下电子标识器探测仪ED-8000,探测时周边 3 米范围内不能有其他探测仪,保持探测仪垂直向 下,探测仪的末端距离地面 5~10cm 左右,延估计的埋地管线走向水平移动探测仪。当发现持续信号且信…

RuntimeError: “LayerNormKernelImpl“ not implemented for ‘Long‘解决方法

问题出现的场景: 输入: import torch import torch.nn as nn atorch.randint(10,[3,4]) # atorch.DoubleTensor(a) # aa.double() print(a) layer_normnn.LayerNorm(4) layer_norm(a) 我就是想测试一下经过layernorm之后的输出会变成什么样 但是报错…

量表题如何分析?

量表是一种测量工具,量表设计标准有很多,并且每种量表的设计都有各自的特性,不同量表的特性也决定了测量尺度,在数据分析中常用的量表为李克特量表。李克特量表1932年由美国社会心理学家李克特在当时原有总加量表的基础上进行改进…

eBPF的发展演进---从石器时代到成为神(二)

3. 发展溯源 回顾技术的发展过程,就像观看非洲大草原日出日落一样,宏大的过程让人感动,细节部分引人深思。每天循环不辍,却又每天不同。 BPF的应用早已超越了它最初的设计,但如果要追溯BPF最初的来源,则必…

kubernetes为何需要默认的serviceaccount?

文章目录 什么是k8s的serviceAccount?为什么每一个ns下都有默认的sa?default sa yaml 默认的sa下都会挂一个secret,这个secret是从哪里来的?一道关于RBAC的CKA考题1、创建一个新的 ServiceAccount2、创建一个新的 Role3、创建一个…

2023_8.0.33版windows版MySql安装_配置远程连接_修改设置初始密码---MySql工作笔记0001

MySQL :: Download MySQL Community Server https://dev.mysql.com/downloads/mysql/ 首先去下载mysql 可以看到这里下载第一个就可以了,最新版的8.0.33 这里点击仅仅下载 just start my download 然后解压到一个文件夹,然后配置一下环境变量 然后新建一个my.ini文件 然后把…

【GNN】谱域图卷积

谱域图卷积 1. 谱域卷积的背景知识 1.1 谱域图卷积实现思路 f 1 ( t ) ⋆ f 2 ( t ) F − 1 [ F 1 ( w ) F 2 ( w ) ] f_1(t) \star f_2(t) F^{-1}[F_1(w)F_2(w) ] f1​(t)⋆f2​(t)F−1[F1​(w)F2​(w)] 1.2 如何定义图上的傅里叶变换 经典傅里叶变换: x ( …

速卖通正式推出全托管,卖家竞争进入新阶段

全托管来了,卖家就能安心做甩手掌柜吗? 正式推出全托管 显而易见,越来越多的平台正在转向全托管模式。 近日,速卖通在2023年度商家峰会上,正式推出了全托管服务模式。官方表示,托管是对速卖通平台商家服…

golang微服务项目通用流水线

golang微服务项目通用流水线 工作中随着业务越来越大,微服务的项目也越来越多,最开始的时候是一个服务一个流水线,然后还分了三个环境,也就是一个服务三个流水线,后面就越来越不利于管理维护了,因此&#…

持续集成——App自动化测试集成实战

这里写目录标题 一、app自动化测试持续集成的好处二、环境准备三、Jenkins节点挂载四、节点环境的配置1、JDK2、模拟器3、sdk环境4、Python3环境5、allure-commandline工具6、allure插件 五、本地运行待测代码(保证代码没有问题)六、库文件的导出七、Jenkins上运行代码配置1、指…