之前收到投稿初遇Postman,SayHi的三种方式,下面分享一下Postman进阶使用。
目录
- 断言
- Sandbox
- UI测试
- 请求方法
- cookie
- 鉴权
- collection
- 变量
- 用命令执行postman脚本
- 导出puthon脚本进行数据驱动的接口测试
- 导出java代码来实现数据驱动的接口
断言Assert
需要了解JavaScript的知识,因为用的就是JS语句多
断言写在哪里?肯定是断言响应的,也就是我们发送请求,返回的值是否符合预期,这就是我们要做的断言
写个案例:
:如果这个返回
这就通过了
其中:这个key
表示检查点的名称(不是用例名称),赋予
这个表达式,这个key求值,true表示测试通过
:这个是判断要小于200毫秒,所以这个可以做简单的性能测试。
根据API文档,跑的通,然后在写断言,
找下模板:
,然后如下图:
点击Send运行后:
我们去数下,结果返回没有10条数据
这时候可以提bug了。哈哈!
Sandbox
参考官方文档API
在Sandbox里面可以用这个chai的语法
用Postman做UI测试
这个交互很弱,不专业,建议用selenium
简单介绍,这个知识太多。
案例:
先用postman访问这个页面,找出元素
在写断言
运行结果:
这就是做界面的静态的检测。要用这个postman做UI要有做前端的功底哦
请求方法Request methods
GET:获取资源,可以获取一个资源/一组资源
POST:表示创建资源,创建一个资源/一组资源,一般是一个
PUT/PATCH:都可以表示更新一些资源
DELETE:删除一个资源
自带的例子如下:
Cookie
这个
打开模板,注意set和get方法
怎么去调式和打印:
打印选项
获取cookie方式
打印出来如下图
鉴权:
如下图:
用postman去做
2.0:是第三方登录方式,如登录时选择第三方QQ或者微信去登录,不用注册!
要先配置:
这些文开发,一起配合验证2.0
collection容器
有几个模块,每个模块都有接口,这些模块间都有接口
每个文件夹就是要测试的模块
请求发送前做的脚本,初始化
必须有,要写脚本判断
工程保存,运行
编辑:
导出:常用
:发布文档
:付费的功能,略
导入数据创建collection
变量
之前都是入门
变量,两个大括号就是取它的值chai值
例如:
:name的值不要写死,这里写死了
看看例子,这个出现错误提示:变量name没有定义
我们增加一套环境
定义一个变量=python
就有了这个production变量
建立变量后没有报错,运行看看
我们还可以设置其他环境,先选择如下图
加其他环境,跟上面一样!
加个新变量为test,设置新的变量=php
运行后,变量变了
要是设置相同的变量(类似jmeter的默认值),可以在全局变量定义一次就好。
用命令执行postman脚本:
国内npm不好用,去淘宝搜索cnpm,国内用cnpm
执行Run后
安装
1.输入:
2.输入:
看到这些信息就安装成功
把结果导出
把测试数据拷贝过来
测试数据
测试脚本
回车运行,看看格式报告的对比:
CLI的报告格式:
看html测试报告
在看json,用记事本打开,2600多行
导出puthon脚本进行数据驱动的接口测试
导出多脚本,看你擅长,比如java tesrNG、python unittest
这里导出python。支持2和3
我安装python3.6
安装这个requests
导出
新建一个文件叫
用文本编辑器去打开它(不一定要IDE)
把刚刚代码拷贝进来,画红线的是新加的(套路)
简化代码:
改下:把返回转出字典,再加断言
命令行运行这个脚本:
在0.7秒运行成功了
写死的,没有数据驱动,刚刚postman我们变量不写死
再改写下有数据驱动的,在循环做个断言
命令行运行
5.46秒运行成功
导出java代码来实现数据驱动的接口
比较其他的更麻烦,自己定义对象和类
新建项目
修改下xml文件内容的3个依赖
这个IDE是自动下载。
新建
在工程建在这两个文件就行(图中工程师以前的)
:代表的是postman
java里字段反序列化跟下面这个一样,自己定义对象
字段跟上面一致
get和set方法都是IDE自动生成(百度)。
从code拷贝的,对比下
右键运行结果
总结回顾java:
1.先新建项目加依赖
2.定义
3.写脚本