从单接口到接口自动化,接口测试利器Postman的使用实践
什么叫接口?软件不同部分之间的交互接口。通常就叫接口。API是应用程序的接口。表现形式为源代码。具体到开发过程中,一般是前后端一方定义好接口,另一方调用接口进行测试。
常见的接口类别有HTTP接口,webservice接口,该接口走SOUP协议,请求和响应报文都是
xml格式,通过SoupUI工具进行测试;HTTP接口则走HTTP协议,通过不同的资源路径来区分不同调用的方法,请求报文一般可以是多种格式,响应报文则为Json格式,最常见的方法有get和post方法。
接口的过程,由前端发送请求报文,后端对请求报文处理后返回响应报文给前端。
接口测试的好处,稳定更容易实现自动化持续集成,提高测试效率。从安全性来说也需要对前后端的传输、日志的打印是否加密传输进行验证。特别是涉及到用户的隐私和密码,身份证信息的时候。
接口测试的范围包括功能、性能、安全性,重点关注数据的交换,传递,和处理的次数。
通常情况下,只对数据进入接口的入口或调用第三方接口参数的入口和接口的出口验证系统处理后的数据是否正常。
接口的文档一般包括接口名称,URL,请求方法,入参,参数类型,参数说明,返回参数说明,返回内容示例。
示例:
简单描述:用户更新
URL:https://api.apiopen.top/updateUserInfo
请求方法:POST
参数:
返回示例
返回参数说明:
POSTMAN介绍
顶部New按钮可以新建Request请求,Collection套件,环境,API集合,Mock服务,监视器六大功能
import可以导入FIle,FOLDer文件夹,form link,RAW Text等。
runner打开一个可执行collections的新窗口
+可选打开一个TAB页面,Postman页面或者windows页面。
Myworkspace:构建器及团队库选项卡
invite:postman的抓包功能
settings:可以进行设置。
❤可以分享
cookies可以管理请求的cookie
code提供二十种语言生成与请求相关的代码
console:可以查看请求和响应的相关日志
使用内置方法完成POSTMAN的测试
get请求
post URI请求
post form-data传参请求
post x-www-form-urlencoded请求
post raw传参 请求
post Binary上传文件 请求
Authorization授权认证,提供对某些请求敏感数据的权限设置。默认为不需要认证授权。Authorization提供了多种授权协议类型包括
.No Auth
.API key
.Bear Token
.Basic Auth
.Digest Auth
.OAuth 1.0
.OAuth 2.0
.Hawk Authentication
.AWS Signature
.NTML Authentication[Beta]
在示例中可以使用Basic-Auth方式授权协议。使用时需要输入账号名和密码。
在请求中添加Headers参数
接口自动化示例
环境:node 14.5, newman, postman, jenkins
示例
POSTMan结果
TESTS断言:(1)要求status code等于200
(2)要求Response body中包含字符串“特朗普”
(3)要求响应时间小于10ms
此外可以添加更多断言
Postman + Newman + Jenkins 实现接口自动化测试
环境安装:win8,postman,Newman,node.js(win),
jenkins;
1、保存save保存接口到集合collections中
2、将保存的collection文件以json文件的格式导出到本地
下环境
3,进入命令窗口 输入newman run C:\Users\Administrator\Desktop\News_Search.postman_collection.json
newman run +文件名 -e(可选)环境变量 -g 全局变量
如果依赖环境 则 需要从Postman中export导出json格式的文件。 -e 环境变量,-g 全局变量
如上图 新闻头条接口,两条断言通过,一条失败failed,失败 原因为响应时间为194ms低于预期10ms
jenkins部署Newman
控制台报错了,找到原因重新配置。jenkins配置newman脚本。部署后,构建。第一次构建失败,
在jenkins构建项目执行构建并控制台查看到结果
假设开发修复了接口Bug(这里在josn中把响应改为1000),再次构建jenkins控制台输出结果构建成功。