App接口测试的流程和测试方法以及工具的使用

article/2025/11/11 0:41:54

App接口测试

使用工具

Fiddler、Jmeter、postman

测试设计:
通过性验证:
首先肯定要保证这个接口功能是好使的,也就是正常的通过 性测试,按照接口文档上的参数,正常传入,是否可以返回正确的结果。
参数组合:
现在有一个操作商品的接口,有个字段 type,传 1 的时候代 表修改商品,商品 id、商品名称、价格有一个是必传的,type 传 2 的时 候是删除商品,
商品 id 是必传的,这样的,就要测参数组合了,type 传 1 的时候,只传 商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。
接口安全:
1、绕过验证,比如说购买了一个商品,它的价格是 300 元,那我在提交 订单时候,我把这个商品的价格改成 3 元,后端有没有做验证,更狠点, 我把钱改成-3,是不是我的余额还要增加?
2、绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改, 那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改 成功
3、参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如 果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则 是否容易破解。
4、密码安全规则,密码的复杂程度校验
异常验证:
所谓异常验证,也就是我不按照你接口文档上的要求输入参数,来验 证接口对异常情况的校验。比如说必填的参数不填,输入整数类型的,传 入字符串类型,长度是 10 的,传 11,总之就是你说怎么来,我就不怎么 来,其实也就这三种,必传非必传、参数类型、入参长度。
性能测试
接口并发情况,如上面提到的:一个账号,同时(大于 2 个请求)对最后 一个商品下单,或不同账号,对最后一个商品下单 接口响应时间,响应时间太长了,肯定需要优化,一般都是毫秒级别
在这里插入图片描述
GET 和POST 的区别:
GET 在浏览器回退时是无害的,而 POST 会再次提交请求。
GET 产生的 URL 地址可以被 Bookmark,而 POST 不可以。
GET 请求会被浏览器主动 cache,而 POST 不会,除非手动设置。
GET 请求只能进行 url 编码,而 POST 支持多种编码方式。
GET 请求参数会被完整保留在浏览器历史记录里,而 POST 中的参数不会
被保留。
GET 请求在 URL 中传送的参数是有长度限制的,而 POST 么有。
对参数的数据类型,GET 只接受 ASCII 字符,而 POST 没有限制。
GET 比 POST 更不安全,因为参数直接暴露在 URL 上,所以不能用来传递
敏感信息。
GET 参数通过 URL 传递,POST 放在 Request body 中。

使用jmeter测试方法:
1. 确认接口
从开发人员那里获取接口文档,接口文档应该包括完整的功能接口、接口请求方式、接口请求URL、接口请求参数、接口返回参数。
如果当前项目没有接口文档,则可以使用fiddler或charles对APP进行抓包确认。
fiddler和charles对手机进行抓包的方法可以参考:http://blog.csdn.net/whorus1/article/details/50673740
在手机上对APP进行操作,然后在Fiddler中可以抓取对应的网络交互信息(一个功能中可能设计多个接口的交互)。在抓取的信息中可以看到接口请求方式、接口请求URL、接口请求参数、接口返回参数。

2. 在Jmeter中编写测试脚本
1.在测试计划中添加一个线程组(在测试计划上右击,添加-Threads-线程组)。
在这里插入图片描述
可以将线程组的名称改成测试项目的名称。
在性能测试时可以通过配置线程属性中的参数来控制并发用户数:
线程数:虚拟用户数,即并发数,一个线程表示一个虚拟用户;
Ramp-Up Period:所有线程启动的时间,单位s。通过这个参数可以设置每个线程间的启动间隔,防止给电脑造成太大性能压力;
循环次数:测试循环的次数,如果勾选了“永远”,那么所有线程会一直发送请求,直到手动停止运行脚本;
在这里插入图片描述
2. 在线程组中添加HTTP请求(在线程组上右击,添加-Sampler-HTTP请求)。
可以将名称改为待测接口的名称;
在Web服务器中填入请求服务器的地址和端口号;
协议中填入HTTP请求的协议,可以是http或https,我们一般用的都是http;
在方法中选择HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE;(我们项目中的接口方法使用的主要是GET和PUT,在目前易户网的项目中由于APP不直接和服务器交互,中间有一个统一接口平台,所以GET方法的接口请求也要使用POST进行交互。)
在路径中填入接口请求的URL;
请求参数:如果是GET方法的请求,请求参数直接写在URL后面即可;如果是POST的方法,则需要在Body Data中填入包含请求参数的数据(Body Data可以从Fiddler抓的包中获取,将Fiddler抓取的到数据包中Inspectors-TextView中的数据复制到Body data中即可);
在这里插入图片描述
3. 在线程组中添加HTTP信息头管理器(在线程组上右击,添加-配置元件-HTTP请求信息头管理器)
配置如下:
在这里插入图片描述
4.添加监听器(在线程组上右击,添加-监听器-XXX)。
主要配置完成了,需要添加监听器以查看测试结果。一般我们使用查看结果树和聚合报告查看。
查看结果树:在结果树中会以树形结构展示每个接口请求的测试结果,包括取样器结果、请求、响应数据,在响应数据中可看到网络侧返回的数据,可以以接口文档中期望返回的参数做比较以判断返回是否正确。在结果树中通过颜色可以直观的看到接口测试的结果,绿色为通过,红色为失败。
在这里插入图片描述
**聚合报告:**从聚合报告中我们可以获取到比较多的信息,包括接口的响应时间、吞吐量、通过率等,在接口的性能测试中很有用。
在这里插入图片描述
表中参数的含义如下:
在这里插入图片描述
5. 添加响应断言(添加-断言-响应断言)。
查看测试结果时我们会发现有时候网络侧返回数据不符合要求时Jmeter给出的结果仍是通过的。这时候我们需要通过断言来判断网络的返回数据是否符合要求。
比如,我们可以添加一个断言来检查返回信息中是否包含关键字“errMsg”来判断错误信息:
首先添加一个相应断言,在要测试的响应字段中选择响应文本,在模式匹配规则中选择包括,勾选否,在要测试的模式中添加提一条,输入关键字“errMsg”;
意思是检查网络返回结果中不包含“errMsg”的才会判定为通过。
另外我们还可以从监听器中添加一个断言结果,在断言结果中可以查看断言的详细返回信息。
在这里插入图片描述
在这里插入图片描述
3. 其他补充
使用CSV Data Set Config定义变量。
举个例子,我们想要测试多用户登陆时要怎么做?可以在线程属性中配置多个线程,但是这样只是同一个用户多次登录,多个不同的用户需要输入不同的用户名密码。当然我们可以写多个登录的HTTP请求,每个请求输入不同的参数,但是这样太傻了。
这个时候我们可以通过CSV DataSet Config来定义两个变量代表用户名和密码,然后传入不同的值即可实现多用户的登录:
1、我们在登录的case中添加一个CSV DataSet Config(添加-配置元件-CSV Data Set Config)。
在这里插入图片描述
0Filename:指定读取用户名和密码的文件,我们会将所有的用户名密码写到该文件中;
FileEncoding::写入用户名密码的文件编码格式,不写的时候默认为ANSI
VaribleNames:定义文本文件中的变量名用户名=user和密码=pwd,变量之间逗号分隔。

2、我们到上面Filename的路径下创建该文件并写入用户名密码,用户名和密码之间用逗号分开,不同用户名密码之间换行。

3、到Jmeter的脚本中将原本的用户名密码改为变量名,由于我们使用的是Post方法,所以到Body Data中修改:

使用postman做接口测试
以下是postman界面:
在这里插入图片描述
第一步创建一个请求
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二步输入接口的请求方式和接口域名和接口地址:
在这里插入图片描述
get请求(get请求的参数是放在Params里面的)
在这里插入图片描述
POST请求(post请求的参数是放在Body里面的,需要选择数据提交的格式)
在这里插入图片描述
在这里插入图片描述
第三步运行postman对接口进行请求(点击send,即可在"Response" 中查看返回的结果。)

在这里插入图片描述
以上就是postman接口测试基本使用方法总结。


http://chatgpt.dhexx.cn/article/pEQvEgj7.shtml

相关文章

APP测试基本流程以及APP测试要点

一、 APP测试基本流程 1、流程图 2、测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。 3、测试资源 测试任务开始前,…

手机APP测试流程规范和方法你知道多少?

目录 流程图 1. 测试资源 2. 测试要点 3. 测试日报及产品上线报告 4. 最终提交 5. 相关文档 流程图 测试周期 9.25-10.5 1. 测试资源 测试任务开始前,检查各项测试资源。 1. 产品功能需求文档 2. 产品原型图 3. 产品效果图 4. 行为统计分析定义文档 5.…

APP测试基本流程以及APP测试要点梳理,保证您看了不后悔!

前言:相信很多刚刚步入测试行业的小伙伴对于APP测试不是很熟悉,这次我为大家提供一篇宝藏文章,希望大家喜欢,谢谢! 一、APP测试基本流程 1、流程图 2、测试周期 测试周期可按项目的开发周期来确定测试时间&#xff…

怎么做手机App测试?app测试详细流程和方法介绍

1、手机APP测试怎么做? 手机APP测试,主要针对的是android和ios两大主流操作系统,主要考虑的就是功能性、兼容性、稳定性、易用性(也就是人机交互)、性能。 手机APP测试前的准备: 1.使用同类型的产品&…

APP测试:测试流程及常规测试内容

APP测试 定义:使用人工或自动化来测试某个程序,验证它是否满足规定的需求或者实际结果和预期结果的差别 一、测试流程 1.1 流程图 1.2 测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日)&#xff0…

浅谈手机APP测试(流程)

小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法…

任务计划程序执行失败 错误值:2147750687

1,服务器上新建一个任务计划去定时执行一个.exe文件,一直失败,但手动执行成功。 试了好多网上的方法都不行,本来用的exe是bin目录下release文件夹下的exe,后来改为bin目录下debug的exe执行即可。至于原因嘛,我自己也是…

VS读取配置文件错误

解决方案: 删除项目文件所在文件夹下的.vs文件夹,重新编译即可。原因在于合并或生成的.suo文件与你本地实际路径不一致导致出错无法识别。

操作系统权限提升(十)之系统错误配置-计划任务提权

系列文章 操作系统权限提升(一)之操作系统权限介绍 操作系统权限提升(二)之常见提权的环境介绍 操作系统权限提升(三)之Windows系统内核溢出漏洞提权 操作系统权限提升(四)之系统错误配置-Tusted Service Paths提权 操作系统权限提升(五)之系统错误配置-PATH环境变量提权 操作…

关于配置文件出错问题

图一(正确运行) 图二(运行报错) 以上图一与图二配置文件均为一样的配置文件,但只有图一能正确运行。错误原因并未能准确找到,图二 xsi:schemaLocation的spring-aop URL地址是从上一个项目的配置文件复制过来…

Windows计划任务提示 0xE0434352 错误

写了一个计划任务每周去跑一个程序,但是并没有跑,报错是 0xE0434352,应该是没有找到路径(计划任务这么菜的吗)... 解决办法:双击启动程序 写上你当前程序的起始路径 然后在运行一下,就成功了

错误:“应用程序无法启动,因为应用程序的并行配置不正确。请参阅应用程序事件日志,或使用命令行sxstrace.exe工具” 的解决

安装软件后,应用程序无法启动,出现错误:“应用程序无法启动,因为应用程序的并行配置不正确。请参阅应用程序事件日志,或使用命令行sxstrace.exe工具”,该怎么办? 解决办法:&#xf…

HTTP 错误 500.19 - Internal Server Error-配置错误 由于权限不足而无法读取配置文件 解决方法

HTTP 错误 500.19 - Internal Server Error-配置错误 由于权限不足而无法读取配置文件 解决方法 可以看到,这个错误的产生是因为用户权限不足。 第一步 打开IIS管理器 第二步 ,找到对应网站,编辑权限 第三步,点击弹出文件夹的安全页面 第…

Docker容器 - 解决因配置文件错误所导致容器无法启动的问题

目录 一、查看容器日志 二、偷梁换柱 三、启动 原因很简单,因为修改容器内配置文件时出现了错误,所导致容器无法正常start。从而无法进入容器进行修改。。。解决步骤如下: 一、查看容器日志 sudo docker logs 容器ID 查看报错原因的同时找…

【日常记录】错误“应用程序无法启动,因为应用程序中的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具”解决办法

win10安装理正深基坑软件出现该错误 错误“应用程序无法启动,因为应用程序中的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具”解决办法 网上给的方法是启动Windows Modules Installer服务&…

计算机配置文件损坏,怎样修复Windows 10的用户配置文件无法加载错误?

登录计算机就像输入密码(如果有)并点击登录按钮一样简单。 如果您的PC拒绝加载您的配置文件,并且在蓝屏上显示“无法加载用户配置文件”错误消息,则说明某些文件或服务会为您的PC用户配置文件供电。 请按照本文中两个解决方案中的任何一个来解决此错误。…

Linux配置文件错误(1)

1.将**配置文件/boot/grub2/grub.cfg丢失或者挂不见配置出现错误,或者MBR中引导程序遭到破坏,Linux主机启动时后可能只会出现“grub>”提示符,**无法完成进一步的系统启动过程。 删除rm --rf /boot/grub2/grub.cfg文件 2.删除后重启reboo…

docker错误修改容器配置文件不能启动

简介:配置docker mysql8.0 忽略表名大小写问题,在 /etc/mysql/my.cnf 文件添加 lower_case_table_names1 导致容器不能启动,想删除也不能进入容器,下面提供一种简单方法 docker cp 命令可以不启动容器执行,所以利用该…

修改配置文件的定时任务

1.问题背景 下发文件给下游系统设置的是定时任务,原本是每天的18:08定时发送,突然下游说要立马发送,于是只能去修改定时任务。 2.修改操作 查看权限—修改权限—备份–修改—重启 查看权限 进入配置文件目录:cd /…

Windows计划任务执行失败 错误值 2147943785

在win server服务器端,设置定时任务后,总是执行失败,提示错误值为:2147943785 在网上找了一圈,说是执行程序的用户,没有”批处理登录的权限“,按照提示查看,果然如此: 管…