**DAY1课题:Postman基础应用&接口测试流程&接口架构和协议 **
一、什么是接口?
内部接口:开发人员自己开发的给被测系统调用的接口。
1.提供给内部系统使用(接口不公开,只测正例)
2.提供给外部系统使用(接口公开,测试正例,反例,鉴权.....)
外部接口:系统调用外部的已经存在的接口。(只测正例)
二、接口协议的全局观
1.基于SOAP架构。协议:webservice,数据通过xml交互。
测试工具:soupui
2.基于RPC架构,协议:dubbo,thrift,RMI,数据通过json交互。
springcloud微服务。
测试工具:jmeter
3.基于restful架构,协议:http协议。数据通过json交互。
测试工具:postman
三、http协议详解
1.什么是http协议
http协议是一种超文本传输协议,主要用于客户端和服务器之间交互数据。交互分为请求和
请求:请求行,请求头,空一行,请求正文(报文,数据)
响应:响应行,响应头,空一行,响应正文(报文)
请求行:请求方式,请求路径,协议
GET http://47.107.116.139/fangwei/m.php?m=Public&a=login& HTTP/1.1
核心请求头:
Accept:客户端接收的数据格式。
Content‐type:发送请求的数据格式。
application/x‐www‐form‐urlencoded 表单。 application/json json multipart‐form 文件上传
User‐Agent:客户端的类型
谷歌,火狐,IE,Postman,Jmeter、、、、
X‐Requested‐With 异步请求(一般应用于登录或者局部刷新,ajax技术)
Cookie:Cookie信息。
空一行
请求正文
响应行:协议,响应码(1XX信息,2XX成功,3XX重定向,4XX客户端错误,5XX服务器错
误),响应信息
HTTP/1.1 200 OK
响应头
Server: nginx
Date: Sun, 07 Nov 2021 12:22:30 GMT
Content‐Type: text/html; charset=utf‐8
Connection: keep‐alive
Vary: Accept‐Encoding
X‐Powered‐By: PHP/5.6.36
Set‐Cookie: PHPSESSID=iuf17a5nlq98rcgfj126vfll06; path=/; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache‐Control: no‐store, no‐cache, must‐revalidate, post‐check=0, pre‐ch
eck=0
Pragma: no‐cache
Content‐Length: 3052
空一行
响应正文
<!DOCTYPE html PUBLIC "‐//W3C//DTD XHTML 1.0 Transitional//EN"
四、返回数据
主要 html,json,xml 这三种。
json:数据格式。(字符串,字典的字符串的形式。),由两类数据组成。
1.键值对,{key:value,key2:value2}
2.数组(列表):[arr1,arr2,arr3]
dict,json,yaml可以相互转换。
不成文的规定:一般接口返回的数据按如下格式开发:
{code:返回码,message:返回信息,result:返回数据}
五、接口测试流程和方案
1.拿到api文档,(规范:swgger,showdoc,不规范:word,excel,没有就只能抓包和录 制),熟悉接口业务,接口地址,鉴权方式,入参,出参,错误码等等。
2.编写接口测试用例以及评审。
思路:
先写正例:输入正确的入参,接口返回成功。(多种请求方式的情况下有多个正例。)
再写反例:(应用功能测试思路)
鉴权反例:必填,错误,过期....
参数反例:必填,类型异常,长度异常。
其他反例:错误码,黑名单,次数调用限制,分页场景(负数页,0页,中间页,最后
一页,超出最后一页。)
3.使用接口测试工具执行接口测试
4.输出接口测试报告(word文档类型,HTML类型)
四、微信公众号的接口
微信公众平台 点击 开发文档 =》测试号申请
获取测试号信息 appID:XXX appsecret:XXX。
postman+newman+git+jenkins
Jmeter+ant+Git+Jenkins
soupui,apipost,
fiddler,charles
五、Postman安装和界面的介绍
最新的版本是9.0,稳定版是8.0
官方:https://dl.pstmn.io/download/latest/win64
接口测试核心填写的就四个部分:
1.请求方式,请求路径,请求数据,请求头。
鉴权码:鉴定你是否有访问接口的权限。csrf_token.access_token,key,token,appkey
获取方式:
1.通过一个独立的接口获取。
2.登录之后自动生成。
六、Postman接口测试发送get请求
请求页签的详细说明:
params:get请求传参,(或者如果post或其他请求路径中有参数那么也会自动填充到
params)
Authorization:鉴权方式。
headers:传请求头
Body:post请求传参。
form-data:可以传文件也可以传表单键值对。
x-www-form-urlencoded:只能传表单键值对。
raw:json,text,html,javascript,xml
binary:二进制文件上传。
Pre-request-Script:请求之前的脚本。
tests:请求之后的断言(判断预期是否与实际一致)
setting:设置
cookie:是postman工具自动的保存以及发送cookie。
响应页签的详细说明:
Body:返回的数据,Pretty以json./...格式,Raw文本,Preview网页
Cookie:响应的Cookie
headers:响应头
Test Results 断言的测试结果
200:状态码
OK:响应信息
388MS响应时间
面试题:get请求和post请求的区别?
1.get一般是获取数据,post一般提交数据。
2.post比get安全
3.本质区别在于:传参方式不一样。
get在地址栏的后面以?方式传参,多个参数之间用&分隔。
post是在body以表单的方式传参。
七、微信公众平台生产环境 例子:
先设置基础url
获取接口统一鉴权码token接口
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
创建的标签接口
https://api.weixin.qq.com/cgi-bin/tags/create?access_token=ACCESSTOKEN
获取公众号已创建的接口
https://api.weixin.qq.com/cgi-bin/tags/get?access_token=ACCESSTOKEN
删除标签接口
https://api.weixin.qq.com/cgi-bin/tags/delete?access_token=ACCESSTOKEN
编辑标签接口
https://api.weixin.qq.com/cgi-bin/tags/update?access_token=ACCESSTOKEN
版权归原作者 天草柑橘 所有, 如有侵权,请联系我们删除。