博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接口自动化之接口整理(抓包)
阅读量:6411 次
发布时间:2019-06-23

本文共 1888 字,大约阅读时间需要 6 分钟。

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

涉及到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

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

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

感兴趣的小伙伴可以加群:747981058,大家一起来交流~

转载于:https://juejin.im/post/5bea3602e51d451d23634d70

你可能感兴趣的文章
数据库存储引擎
查看>>
[2019.2.13]BZOJ4318 OSU!
查看>>
版本号带两个小数点的,如何比较大小?( NSStringCompareOptions )
查看>>
QCustomplot使用分享(三) 图
查看>>
什么是java?
查看>>
WPF路径动画(动态逆向动画)
查看>>
Low Level Reader Protocol (LLRP) 简介
查看>>
[Micropython]TPYBoard v10x NRF24L01无线通讯模块使用教程
查看>>
mysql中show processlist过滤和杀死线程
查看>>
最新Sublime Text 2 激活 汉化
查看>>
基础数据类型之字典
查看>>
第七次作业
查看>>
Oracle中NVARCHAR2与VARCHAR2的区别
查看>>
php debug
查看>>
Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境部署】
查看>>
lvm实现快速备份文件及数据库,lvm快照原理
查看>>
设计模式之Factory Method(工厂方法)
查看>>
10K入职linux运维岗位小伙伴感谢信及面试经历分享
查看>>
zookeeper入门之Curator的使用之几种监听器的使用
查看>>
[转]Reporting Service部署之访问权限
查看>>