一、postman工作原理
1.发请求
2.接受请求响应
3.接收响应显示到页面
二、测试的质量特性
1.功能性--接口逻辑的正确、准确性
(输入不同正确的组合,验证返回正确(不同的响应状态),逻辑正确,精度正确)
2.功能性--接口的关联性
(依赖有无,正确,其他,时间)
3.接口的异常健壮性(第三方支付的api)
(空,不符合需求(业务--eg字符/汉字,功能),功能不符合(参数个数,类型,缺失,左右边界,上下溢出,优先级,逻辑,文件上传打开关闭各种问题))
4.接口的安全性
(输入的内容对域(eg:http://ip/v?id=1234,id修改后也可以访问),对访问控制,权限,数据库sql注入)
【接口测试重点】
1、参数验证
接口参数的边界值。
例如,传递的参数足够大或为负数时,接口是否可以正常处理
2、业务功能
接口是否满足了所提供的功能,检查接口返回的数据是否与预期结果一致。
3、异常场景
重复提交、并发提交、事务中断、多机环境、大数据量测试
检查接口的容错性,假如传递数据的类型错误时是否可以处理。
4、接口的性能
响应时间、吞吐量、并发数、资源要求
5、接口的安全性
外部调用的接口、权限验证、SQL注入
三、http协议
四、postman发送不同类型的请求
需掌握问题:
1.请求和响应的属性解析
一次完整的HTTP请求所经历的7个步骤
说明:HTTP通信机制是在一次完整的HTTP通信过程中,web浏览器与web服务器之间将完成下列7个步骤:
建立TCP连接
Web浏览器向web服务器发送请求命令 例如:GET /sample/hello.jsp HTTP 1.1
Web浏览器发送请求头信息
Web服务器应答 例如:HTTP/1.1 200 ok
Web服务器发送应答头信息
Web服务器向浏览器发送数据
Web服务器关闭TCP连接
重要响应头及属性:
1).General Headers 通用信息头 既能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头。里面包含内容详解如下:
Request URL 请求的地址
Request Method 请求的方法类型
Status Code 响应状态码
Remote Address 表示远程服务器地址
2).Response Headers 响应头
Content-Length响应体的长度
Content-type返回的响应MIME类型与编码:告诉浏览器它发送的数据属于什么文件类型
Cache-control指定请求和响应遵循的缓存机制
1)public 响应可被任何缓存区缓存
2)private 对于单个用户的整个或部分响应消息,不能被共享缓存处理
3)no-cache 表示请求或响应消息不能缓存
4.date 原始服务器消息发出的时间
5.Server web服务器软件名称
6.Last-Modified 标记请求的资源在服务器端最后被修改的时间
3).Request Headers 请求头
Accept告诉服务器可以接受的文件格式。根据Accept头的不同,按照相应的顺序进行produces的匹配。
Accept-Encoding gzip,deflate,sdch,br 指定浏览器可以支持的web服务器返回的内容压缩编码类型
Accept-Language 浏览器支持的语言
Cache-Control 指定请求和响应遵循的缓存机制
Connection keep-alive 表示是否需要持久连接
Cookie HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
Host 指定请求的服务器的域名和端口号
Referer 告诉服务器是从哪个网站链接过来的
User-Agent用户代理:简称UA。内容包含发出请求的用户信息,使得服务器能够识别客户端使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、插件等。
Authorization 当客户端访问受口令保护时,服务器端会发送401状态码和www-authenticate 响应头,要求客户端使用Authorization来应答
参考链接:https://www.cnblogs.com/hld123/p/10861557.html
2.Content_type是什么?常用哪几种类型?
Content_type是Http的实体首部字段,用于说明请求或返回的消息主体是用何种方式编码,在request header和response header里都存在。
1)、application/x-www-form-urlencoded
浏览器的原生form表单
提交的数据按照 key1=val1&key2=val2 的方式进行编码,key和val都进行了URL转码
2)、multipart/form-data
常见的 POST 数据提交的方式。我们使用表单上传文件时,必须让 form 的 enctype 等于这个值。
3)、application/json
消息主体是序列化后的 JSON 字符串,这个类型越来越多地被大家所使用
这种方案,可以方便的提交复杂的结构化数据,特别适合 RESTful 的接口。各大抓包工具如 Chrome 自带的开发者工具、Firebug、Fiddler,都会以树形结构展示 JSON 数据,非常友好。
4)、text/xml
是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范
参考链接:https://www.jianshu.com/p/ba40da728806
3.http协议,tcp协议,Ip协议分别在那一层
HTTP协议、TCP协议、IP协议分别在应用层,传输层,网络层。
4.有哪些协议?
网络层协议:包括:IP协议、ICMP协议、ARP协议、RARP协议。
传输层协议:TCP协议、UDP协议。
应用层协议:FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS。
5.http、https、tcp、udp、websocket协议是什么?
参考链接:https://blog.csdn.net/whb20081815/article/details/67640804
五、百度搜索接口数据驱动自动化实例
步骤一:百度搜索‘postman’
步骤二:使用csv参数化方式搜索多个关键词,全部执行
五、微信公众号tag接口自动化
接口例子地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
复制此接口: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
配置断言: