接口自动化之接口整理(抓包)

陆续在几个公司都有接触过接口测试,每个公司的接口测试需求都差不多。但是,项目的大小会影响接口测试任务的简繁。

涉及到TCP协议的接口,也涉及到http协议的接口。

前段时间,刚接到一个走HTTP协议的接口测试需求。

开发提供过来的接口如下:

test:

1. get_list

 a. url - subject_id / compliance_id
    b. ajax - subject_id / compliance_id

2.get_map

 a. url -
    b. ajax - qry_id / extra_col

3............

由上得出:

1.每个接口有两种请求方式

a)走地址栏url-----GET请求

b)走ajax模式

2.两种请求方式后端带有参数的key

3.无其他信息

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

咨询开发同个接口为什么走两种请求方式?

得到的回复:

1.url----Get请求获取静态信息,即处理获取数据后的前端页面处理

2.ajax----POST请求为处理数据,返回json数据,即用户需要的数据

请根据这个回复,确认测试的需求范围!!!

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

通过以上信息,测试在开始接口自动化之前,需要将开发提供的接口转换为测试熟悉的模式。

HTTP协议,正常情况下需要包括头部信息,地址,参数等。而开发提供的信息并没有这么丰富。

所以,测试要自己进行抓包获取剩余未知的信息!!!

以百度新闻为范例,谷歌浏览器做为抓包工具

1.进入百度新闻网址:http://news.baidu.com/

2.右键点击网页->【检查】(如果您的网站右键被禁止,请使用F12打开开发者模式)

3.请在打开工具菜单栏选择network

4.刷新网页,观察工具变化(请选择XHR,我们仅观察html页面,js/css等不需要)

5.点击,出现的Name,即开发提供中的模块--test如下:

a)General显示内有我们需要的信息:URL地址,请求模式(GET)等

b)response headers为我们发送请求过去,服务器返回响应的头部信息

c)request headers内有我们需要的信息,当你不知道哪些是接口特殊需要的,请完整保留该区域的所有信息

d)query string parameter为发送请求需要带的参数

6.通过第5点,将接口整理成测试比较熟悉的格式


get_list接口

接口功能:xxxx

请求url


http://IP:PORT/test/get_list


请求模式


POST


请求头


Accept


application/json, text/javascript, */*; q=0.01


Accept-Encoding


gzip, deflate


Connection


keep-alive


Host


IP:PORT


Referer


http://IP:PORT


X-Requested-With


XMLHttpRequest


参数


subject_id:11

compliance_id:11


响应(json)


{data:[{}]}


备注


描述该接口依赖的其他接口名称,该接口的特殊点

备注

如果是移动端的web获取app,请使用第三方工具进行抓包如flddler

如果知道产品的开发语言,并且可以看懂代码的话,请根据接口名称查看源码,确定参数是否必填/返回的错误响应等等信息

开始接口测试之前,请考虑清楚接口测试的范围(功能?冒烟回归?压测?),这将影响工具的选择及接口覆盖率的脚本编写

原文地址:https://www.cnblogs.com/VVsky/p/9275838.html

时间: 2024-10-05 10:18:08

接口自动化之接口整理(抓包)的相关文章

接口自动化之接口工具选取(jmeter)

jmeter进行接口测试,网上简易教程很多 其实关于HTTP接口测试的实现,网上还有很多其他工具诸如:http在线请求测试/谷歌插件postman/火狐插件等. 至于选择jmeter的原因,其实没有原因,刚好需要,就随手拿来了... 接口测试方案: 1.当一个参数(key)对应多个值(value)时. 出现如上情况的时候,接口测试方案内需要设置循环,遍历覆盖所有的value.如果多个key存在多value时,则要进行多重循环 2.当后续的接口依赖前一个接口的响应值时(这种情况较多存在登录时获取c

python接口自动化,接口参数存在字典和列表嵌套的问题

1.如下图,服务端一直返回参数格式错误,但一直没找到原因 2.第二天偶然发现是因为少了引号,在python字典中,value的值一定需要引号(除了数字) 3.0000直接写会被识别成0,需要写成'0000'

接口自动化之设计考量

前置 前两篇已经写了: 1. 接口自动化之接口整理(抓包) 2. 接口自动化之接口工具选取(jmeter) 第二点,需要再扩展补充,工具的选取需要考量多个方案,其中不乏定制化后进行二次封装开发. 第一点,后续需要增加多种抓包情形. 设计 1.通过抓包整理,文档展示效果如果,如果接口数及模块比较多,整个的工作量还是很费时的.  2.接口间的关系设计 a)依赖关系 其实这块在抓包的时候,大致是可以知晓的. 比如,需要登录的才能操作的接口,那么这些接口一定是依赖登录的,或者获取cookie或者sess

接口自动化

一.概念 1. 什么时接口自动化? 接口自动化就是传入输入,检查输出的一个过程, 优点:相比UI测试,有效且稳定,比单元测试更容易上手. 2. 如何做好接口自动化? 梳理测试用例,将测试点罗列出来,设计好测试用例. 3.自动化和手工的区别? 自动化只是将测试点用程序实现出来.提高测试效率,缩短回归测试的时间,而且不容易遗漏. 4.自动化测试用例和普通用例设计的区别 基本上没啥区别,基本上也是采用边界值法,等价划分法,场景法等. 5.自动化关注的重点 a)功能 b)逻辑业务,根据需求文档设计 c)

ethereal抓包工具

ethereal是目前网络上开源的一款功能强大的以太网抓包工具,该软件可以监听异常封包,检测软件封包问题,从网络上抓包,并且能对数据包进行分析,从而帮助用户解决各种网络故障,更加方便查看.监控TCP session动态等等.ethereal抓包工具需要一个底层的抓包平台,在Linux中是采用Libpcap函数库抓包,在windows系统中采用winpcap函数库抓包.软件基本类似于tcpdump,但ethereal还具有设计完美的GUI和众多分类信息及过滤选项.用户通过ethereal,同时将网

MAC下调试JSON接口的工具(HTTP抓包工具)

MAC下的HTTP接口抓包工具,专业级: 专门做JSON接口测试的工具,简单好用!

app抓包,根据接口开发web端

平时喜欢看某个做视频的app,最近app有bug,看着看着就会闪退,回到首页,反馈给官方,好久也不处理,于是自己抓包app的接口,直接用php开发个web版本的自己用.首先抓包过程就不说了,我的另一篇博客有详细介绍:Charles抓包https,http先看一下web的界面:其实就两个页面,非常简单,下面贴一下代码,链接都去掉了,以免被坏人利用: <?php ini_set('date.timezone','Asia/Shanghai'); header("Content-Type:tex

Wireshark抓包找不到接口

Wireshark是学习计算机网络中一个非常重要的抓包工具,该抓包工具可以指定网络卡接口,根据特定的网络协议,把该网络协议的运行流程和数据格式准确的表现出来,是我们了解计算机网络协议深层原理的一个必不可少的东西. 但是最近在使用Wireshark抓取http协议数据包的时候,打开的时候发现并没有捕捉到可用的网卡,如下图: 经过查看一系列资料了解到解决办法: 一.首次启动Wireshark的时候请以管理员身份启动.(牢记)如果以普通用户的身份启动的话,即使你在命令行中开启npf服务的时候也会显示服

【接口工具】接口抓包工具之Charles

上篇我们讲了Fiddler,Fiddler是用C#开发的,所以Fiddler不能在Mac系统中运行,没办法直接用Fiddler来截获MAC系统中的HTTP/HTTPS, Mac 用户怎么办呢? 1.Fiddler可以允许"远程连接".  可以利用这个间接来实现Fiddler捕获Mac系统发出的HTTP/HTTPS. Mac中安装虚拟机软件(比如VMware Fusion),然后在虚拟机中安装一个 Windows7系统(别的Window系统都可以), 然后在Windosw7中安装Fidd