本文记录关于自动化测试的基础学习内容
使用的语言:python
python基础这里不做复习
工具篇:postman——接口关联
一、目前市面上的接口架构及协议
老技术:基于SOAP的接口架构
轻量级基于XML的协议规范
新技术:基于RPC的接口架构
dubbo、spring cloud、thrift、rmi、hessian
主流:基于restful的接口架构
HTTP协议:
请求头主要信息:
accept:接收数据的格式
content-type:发送的数据格式
user-agent:客户端信息
cookie:发送cookie信息
x-requested-with:Ajax异步请求(不需要刷新),类似多线程
cookie原理:
客户端第一次访问服务器,服务端会产生cookie信息,通过响应头的 “set-cookie” 字段传输给客户端
此后客户端访问对应服务器,都会在请求头的 “cookie” 字段中传输cookie信息
cookie:
保存在客户端的一小段文本信息,类型为 字典
信息包括:
name:名称
value:值
domain:服务器地址
path:访问路径
expires/max age:作用域,有效时间
size:大小
二、接口测试流程和方案
1、熟悉接口文档
接口业务、地址、鉴权、入参、出参、错误码
(没有接口文档就需要抓包/录制)
2、编写测试计划和方案
思路:
正例:输入正常的参数,接口成功返回
反例:
1、鉴权反例:鉴权码为空、错误的鉴权码、鉴权码过期
2、参数反例:必填项校验、参数为空、参数类型异常、参数长度异常、错误码参数…
3、其他场景:接口黑名单、接口调用次数限制、接口分页…
3、编写测试用例
4、使用工具或代码执行测试用例
5、输出测试报告
三、目前市面上接口自动化工具
1、postman + Newman + git + Jenkins
2、jmeter + ant + git + jenkins(ant是jmeter的插件)
四、postman请求介绍
params:请求参数
authorization:鉴权
headers:请求头
body:请求体(不同的格式可以传不同的类型数据)
pre-request script:请求前置脚本
tests:请求后置脚本
settings:设置
cookies:管理cookie的地方
五、接口关联(数据提取,设为变量)
1、json提取器
//使用json提取器把响应体转换为json对象
var jsonData = JSON.parse(responseBody);
//提取关键数据并设置为环境变量(也可以设置为全局变量)
pm.environment.set(“access_token”, jsonData.result.access_token);
2、正则表达式提取器
var access_token = responseBody.match(new RegExp(‘“access_token”: “(.*?)”’));
//可以使用console.log(access_token )打印提取的数据,验证是否正确
3、从响应头提取数据
var types = postman.getResponseHeader(“Content-Type”);
4、从cookie中获取数据
var token_a = postman.getResponseCookie(‘字段名’);