首页 > 其他分享 >接口自动化中实现【参数化】以及【测试数据】可以放在哪里

接口自动化中实现【参数化】以及【测试数据】可以放在哪里

时间:2024-03-04 17:46:59浏览次数:29  
标签:可以 接口 测试数据 测试 自动化 数据

一、在接口自动化测试中,参数化可以实现多组数据反复调用一个测试脚本,从而简化测试过程和减少重复劳动。常见的参数化方式包括:

1、数据驱动

数据驱动是将测试数据集合放入外部存储(如Excel、CSV等),然后使用专门的库或工具(如Pandas)来读取数据并将其预处理、转换为代码可以理解的语言格式,再将测试数据作为参数传递给测试脚本。

2、随机值生成

对于需要生成不同范围内随机值的场景,可以使用Python内置random库或Faker库等工具来生成随机值,并将其作为参数传递给测试脚本。

3、环境变量

对于经常发生变化的环境变量值,例如主机名、端口号、用户名密码等信息,可以在测试前通过获取当前环境变量的方式进行传递和管理,以避免因此导致的潜在问题。

4、配置文件

将测试阶段常用且繁琐的参数设置到配置文件中,在系统/应用启动时加载并缓存它们。这样可以最大程度地减少测试人员的手动干预,一定程度上提高了自动化测试的效率和可维护性。

总之,采用适当的方法、优秀的实践以及良好的测试策略,可以在接口自动化测试中实现适当的参数化,提高测试效率和准确性。

二、接口自动化测试的测试数据可以放在以下几个位置:

1、CSV、Excel等文件格式

测试数据可以存储在CSV、Excel等文件格式中,以便于随时访问和修改。测试程序可以读取这些文件并根据需要调用它们,或者按照日期或版本号归类整理以方便管理。

2、数据库

可以将测试数据集合存储在数据库中。测试程序通过直接连接到数据库,指定表名或命令进行数据查询操作,并将数据作为参数传递给测试脚本或测试套件。这种方式特别适合多数据源情况下场景复杂的系统,能够为测试人员提供准确且具有可扩展性的数据来验证将来发布的应用版本。

3、内存缓存

如果测试数据量小且变化不大,则可以将测试数据集保存在内存中的变量(如JSON)中,并通过读取和设置变量的方法进行测试代码的开发和调试。

4、特殊格式

对于一些特殊格式的数据,例如XML、JSON、Protobuf等,也可以直接将其保存在文件系统、内存或数据库中,并通过相应解析器实现读写数据的操作。

5、ini文件中

对于类似邮箱配置的一些参数,可以用ini配置

6、随机函数生产

对于一次性消耗的数据,比如注册不一样的数据数据,可以用随机函数生成

总之,在设计和编写测试用例框架是,选择合适的数据存储方式是至关重要的。良好的测试数据管理实践可以提高测试过程的可重复性和准确性,提高测试效率并减少错误率。

标签:可以,接口,测试数据,测试,自动化,数据
From: https://www.cnblogs.com/chenxiaomeng/p/18052233

相关文章

  • springboot3+vue3(三)接口参数校验Spring Validation框架
    1、引入Validation依赖<!--参数校验依赖validation--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>va......
  • 接口测试-json文件读取报java.lang.ClassCastException: java.util.LinkedHashMap can
    问题原因:从json文件中读取的信息为hashMap,与预期(类对象)格式不匹配,无法解析。问题分析:json文件包含一个json串列表,代表向接口中传递不同的参数组合,通过下面方法读取json文件信息,反序列化成类对象,并把这些赋值的对象进行接口请求参数进行传递。publicList<T>getReadValuesLi......
  • ruoyi-vue axios通过接口请求wav、mp3音频二进制数据
    实现方式在axios请求中注明responseType:'blob',headers的Accept:'audio/wav'不清楚要不要写,我加上了(请求接口)在接口返回值中,使用Blob的构造方法将数据转换成Blob对象(封装Blob对象&形成URL)将得到的Blob对象通过URL.createObjectURL(audioBlob)形成url,该url类似于bl......
  • web ui 自动化测试
    来源:测试开发探秘公众号一、用到的工具和语言1)SeleniumIDE:作为火狐的一个插件,是我们Web自动化测试中必不可少的。 (2)FireBug:火狐的一个插件,帮助我们定位页面元素。 (3)Eclipse:强大的代码编辑工具,相信大家并不陌生。 (4)PyDev:Eclipse的插件,用于编辑Python代码。 (5)Python......
  • springboot3+vue3(二)注册接口
     为了方便实体类操作,这里添加一下lombok的依赖,添加好以后右键重新加载mavenlombok注解含义大全:https://www.jianshu.com/p/41c4a226e955<!--lombok依赖--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifa......
  • python接口自动化系列(14):一键执行生成并打开报告
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074需求在前面的篇幅中,查看测试报告,我们要先运行自动化框架(执行pythonmain.py命令)生成result,然后再生成allure-report,最后再打开报告,这样稍显麻烦。有测试小伙伴就问,能不能一键执行生成并打开报告呢?当然可......
  • 【python接口自动化系列】python + pytest + requests + allure + jsonpath + pyyaml,
     前置基础:python虚拟环境的创建、操作、迁移等python操作yamlpython操作mysqlpytest简易教程 配套练习环境(含相关接口):https://www.cnblogs.com/uncleyong/p/17165143.html 如果文章不能访问,请联系处理,wx:ren168632201 python接口自动化系列(01):自动化测试框......
  • python接口自动化系列(13):windows下allure报告展示
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074实现目标上一步获取到测试报告的数据了,这里我们通过命令生成报告并在浏览器中查看报告。 allure-commandline在windows下安装、配置参考:https://www.cnblogs.com/uncleyong/p/16726826.html windows......
  • python接口自动化系列(10):保存全局变量
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074实现目标如果后续有请求依赖本次请求的响应结果,那么把依赖数据保存到全局变量,比如token 安装模块jsonpath用于解析json数据pipinstalljsonpath 修改工具类global_variable_tool.py添加方法,用于......
  • python接口自动化系列(11):断言请求结果
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074实现目标解析测试数据中要断言的字段,进行断言,判断用例是否成功。 添加工具模块utils下添加assert_tool.py#!/usr/bin/envpython#-*-coding:utf-8-*-#@Author:韧#@wx:ren168632201#@Blo......