如何编写自动化测试用例,一篇带你解决

news2024/11/27 21:52:11

自动化测试脚本

什么是自动化测试?

自动化测试是验证和验证软件是否满足所有用户需求,并使用自动化工具按预期运行。它检查在产品开发阶段期间和之后出现的错误、问题和其他类型的缺陷。这种类型的软件测试运行在由测试工具处理的编程脚本上。有多种测试工具,它们要么提供基于代码的平台,要么为 QA 提供无代码选项。

为什么要自动化测试?

自动化测试之所以至关重要,原因有很多。最主要的原因是它在执行手动测试用例时节省了金钱和时间。但自动化测试的好处不仅限于此;它提供了一个网关来执行复杂的测试过程,消除可能的手动测试错误,并生成一致、可靠的结果。

在手动测试使人类能够分析产品并创建测试报告的情况下,自动化测试非常适合需要反复测试功能或可能已经经历了初始手动测试过程的大型项目。

在你的业务中采用自动化测试技术和工具的总体优势是推出交付时间短、生产力指标更好的无缺陷产品。现在我们可以在下面检查一下自动化测试到手动测试的所有优点是什么。

什么是自动化测试脚本

自动化测试脚本,也就是 Testing Script,就是通过编写一些脚本代码,来完成自动化测试的功能,可以使用且不局限于像 javascript/java/python/php 等编程语言来进行编写。

自动化测试脚本长啥样?怎么写?

我们可以通过一个小例子来讲讲自动化测试脚本到底长啥样,怎么写。

假如我想要使用 Python + Selenium 对一个小页面进行测试,测试它的输入框搜索功能是否正常,我可以编写代码,如下:

这些代码其实就是自动化测试脚本,因为你写完,你可以让他运行几百次几千次,你都不用再去动它了~

在接口工具使用自动化测试脚本

而 API 的自动化测试也一样,我们也可以通过编写代码来对 API 进行测试,我们需要选择一款 API 工具来进行自动化测试,今天我选择 Apifox 来完成这个操作,因为 Apifox 支持自动化测试,且默认支持中文。

创建几个请求

我们需要创建几个请求,在请求中的前置脚本后者后置脚本中,进行脚本代码的编写,Apifox 默认的脚本语言是 javascript。

在填入 路径、方法、名称 之后,我们需要进行 自定义脚本 的编写。

自定义脚本的编写

我们可以发现 Apifox 已经为我们准备了很多校验脚本代码的模板。

比如以下的脚本代码:

我们可以为这个请求设置多个测试校验,比如我这里加了两个:

  • 检查返回状态码是否为 200
  • 请求耗时是否少于 200ms

点击保存,我们可以先运行一下试试,可以发现,我们得到想要的预期效果,校验也通过了。

自动化测试

试想一下,如果有五个接口呢,不可能一个一个去发送吧~所以我们需要用到 Apifox 的自动化测试功能。

我们需要进入自动化测试界面,然后导入对应的接口。

最后填写环境、循环数、延迟数等等,进行运行。

得出运行结果,可以查看耗时,成功数,失败数等报告参数。

总结

最后在这里我也分享一份软件测试资料给大家【点击文末小卡片免费领取】,应该是全网最全的了,基本涵盖了软件测试的全部核心技术点:测试理论,Linux 基础,MySQL 基础,Web 测试,接口测试,App 测试,管理工具,Selenium 相关,性能测试,计算机网络,组成原理,数据结构与算法,逻辑题,人力资源,技术脑图等等…质量非常高!!!应对技术面试绰绰有余!

 


 

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

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

相关文章

linux基础(IO)

目录: 1.复习C文件IO相关操作 2.介绍C程序会默认打开3个输入输出流 3.学习文件的系统调用接口 ---------------------------------------------------------------------------------------------------------------------------- 1.复习C文件IO相关操作 fopen函数…

HTTP协议格式及 fiddler 的使用

HTTP 协议格式 简述 HTTP 协议fiddler(抓包工具) 的使用协议格式总结 : 简述 HTTP 协议 HTTP 协议是个使用非常广泛的应用层协议, 应用层协议通常是需要 “自定义协议” 的, 自定义协议可以基于现有协议进行定制, HTTP 之所以应用广泛就是因为其可定制性非常强. 日常生活中遇到…

网络安全工程师的岗位需求,破237万了!

3月底凌晨,腾讯QQ和微信的相关业务都出现了功能异常。 包括微信语音对话、朋友圈、微信支付,以及QQ文件传输、QQ空间和QQ邮箱在内的多个功能无法使用。 这事儿都听说了吧? 据报道,这次的事故是因为电信机房冷却系统故障导致。 …

Linux安装Tomcat搭建Jenkins

前提条件 由于Tomcat服务器主要用于部署java web项目。所以先安装java jdk。安装过程大家应该很轻车熟练了。 一、安装Tomcat 创建/usr/tomcat文件夹 mkdir -p /usr/tomcat下载tomcat安装包 wget https://archove.apache.org/dist/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat…

umi4 实现msal aad 登录loginRedirect方式并获取令牌

在 Umi 4 中使用 Ant Design Pro Layout 以及 MSAL (Microsoft Authentication Library) 实现登录并获取令牌进入到首页,你需要按照以下步骤进行操作: 安装所需依赖: 使用 npm 或 yarn 安装所需的包: npm install azure/msal-bro…

从零开始Vue3+Element Plus后台管理系统(十)——自定义水印指令与全局注册

在实际项目开发中,自定义指令用得还是比较多的,比如:复制粘贴、输入框防抖、输入框禁止特殊字符、权限校验、背景水印、拖拽等等… 指令确实是个优雅的存在。 Vue3中定义一个普通的自定义指令的详细说明参见官网:https://cn.vue…

sentinel配置持久化到apollo

背景 sentinel-dashborad的配置默认是存储到内存中的,生产环境肯定不能这样使用,官网支持zookeeper、nacos、apollo的配置,本文就来介绍apollo的持久化 apollo sentinel-dashboard 整合 apollo 进行规则的持久化配置,主要方式是…

Kettle获取接口数据到表

kettle从接口服务获取数据 主要用到kettle输入菜单下的控件:生成记录、JSON input 查询菜单下的控件:HTTP client 输出菜单下的控件:表输出、插入/更新 生成记录:设置一个变量,用这个变量来保存要去访问接口的URL地址…

数据结构学习之队列

前言:在我们学习了栈之后,明白了它的结构的特殊性即LAST IN FIRST OUT(后进先出),与之相对应的也有一个特殊的结构队列(queue)--FIRST IN FIRST OUT(先进先出),他们都是面对特殊情况下的数据的结构&#xf…

支持导入 Postman ,用这个插件就可以了

首先安装 导入 Postcat 插件,之后就可以愉快的导入 Postman 格式的文件了。 右上角——选择导入——选择Postman 格式——拖入文件 导入即可!再也不用担心 Postcat 格式的 api 文件能把自己难住了! 如果你日常会用到 api 管理工具的话&#x…

5G和物联网将如何重塑汽车行业?物联网将给汽车行业带来哪些变革?

“ 物联网(Internet of Things)的诞生给无数行业带来了变革,其中就包括汽车行业。物联网对于汽车发展的重要性是毋庸置疑的。从网联汽车到智能交通系统,物联网正在为汽车行业开辟下一个汽车时代。汽联网(Internet of Vehicles)正在成型。” 我们今天看到…

k8s部署mysql并使用nfs持久化数据

k8s部署mysql并使用nfs持久化数据 一、配置nfs服务器1.1 修改配置文件1.2. 载入配置1.3. 检查服务配置 二、创建K8S资源文件2.1 mysql-deployment.yml2.2 mysql-svc.yml 一、配置nfs服务器 参考文章: pod使用示例https://cloud.tencent.com/developer/article/1914388nfs配置…

管好【SD-WEBUI】中大量的模型:名称+预览图+备注+分组(Part.2)

文章目录 (零)前言(一)模型预览图(1.1)预览图姿态(证件照)(1.2)预览图姿态(半身动作) (二)LoRA模型名称&#…

机器人关节电机PWM

脉冲宽度调制(Pulse width modulation,PWM)技术。一种模拟控制方式 机器人关节电机的控制通常使用PWM(脉冲宽度调制)技术。PWM是一种用于控制电子设备的技术,通过控制高电平和低电平之间的时间比例,实现对电子设备的控制。在机器人关节电机中,PWM信号可以控制电机的…

C++ | 高效使用vector

C | 高效使用vector 文章目录 C | 高效使用vector1.善用Reserve2.移动构造和赋值3.释放vector如果vector内存的是指针,需要先释放每个指针所指内存,再释放vectorReference 1.善用Reserve 当需要向vector中添加元素但目前的空间已经放满时,ve…

200G AOC有源光缆在数据中心的应用

随着大数据时代对高速、高带宽的需求日益增长,人们迫切需要一种新型产品作为高性能计算和数据中心的主要传输介质。因此,光通信传输速率的发展也提高了。面对短距离数据中心在光互连产品中的高速、高密度、低成本、低功耗要求,AOC有源光缆提供…

shell脚本----awk命令

文章目录 一、awk工作原理二、awk相关命令三、awk的使用按行输出文本:按字段输出文本:通过管道、双引号调用 Shell 命令: 一、awk工作原理 逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中…

Flink Kafka-Source

文章目录 Kafka Source1. 使用方法2. Topic / Partition 订阅3. 消息解析4. 起始消费位点5. 有界 / 无界模式6. 其他属性7. 动态分区检查8. 事件时间和水印9. 空闲10. 消费位点提交11. 监控12. 安全 Apache Kafka 连接器 Flink 提供了 Apache Kafka 连接器使用精确一次&#xf…

由浅入深理解java集合(四)——集合 Queue

Queue用于模拟队列这种数据结构,队列通常是指“先进先出”(FIFO)的容器。新元素插入(offer)到队列的尾部,访问元素(poll)操作会返回队列头部的元素。通常,队列不允许随机…

【C++初阶】类与对象(中)之构造函数与析构函数

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…