之前收到投稿​​初遇Postman,SayHi的三种方式​​,下面分享一下Postman进阶使用。

目录


  • 断言
  • Sandbox
  • UI测试
  • 请求方法
  • cookie
  • 鉴权
  • collection
  • 变量
  • 用命令执行postman脚本
  • 导出puthon脚本进行数据驱动的接口测试
  • 导出java代码来实现数据驱动的接口

断言Assert

需要了解JavaScript的知识,因为用的就是JS语句多

Postman进阶_ide

断言写在哪里?肯定是断言响应的,也就是我们发送请求,返回的值是否符合预期,这就是我们要做的断言

Postman进阶_java_02

写个案例:

Postman进阶_ide_03

Postman进阶_性能测试_04


Postman进阶_python_05:如果这个返回Postman进阶_java_06这就通过了

   其中:这个keyPostman进阶_java_07表示检查点的名称(不是用例名称),赋予Postman进阶_ide_08这个表达式,这个key求值,true表示测试通过

Postman进阶_python_09:这个是判断要小于200毫秒,所以这个可以做简单的性能测试。

Postman进阶_数据驱动_10

根据API文档,跑的通,然后在写断言,

Postman进阶_java_11

找下模板:Postman进阶_数据驱动_12,然后如下图:

Postman进阶_ide_13

点击Send运行后:

Postman进阶_ide_14我们去数下,结果返回没有10条数据

Postman进阶_python_15

这时候可以提bug了。哈哈!

Sandbox

Postman进阶_java_16

参考官方文档API

Postman进阶_java_17

在Sandbox里面可以用这个chai的语法

Postman进阶_数据驱动_18


用Postman做UI测试

这个交互很弱,不专业,建议用selenium

Postman进阶_性能测试_19

简单介绍,这个知识太多。

Postman进阶_java_20

案例:

Postman进阶_性能测试_21

先用postman访问这个页面,找出元素

Postman进阶_ide_22

在写断言

Postman进阶_python_23

运行结果:

Postman进阶_ide_24

这就是做界面的静态的检测。要用这个postman做UI要有做前端的功底哦

Postman进阶_数据驱动_25


请求方法Request methods

Postman进阶_python_26

GET:获取资源,可以获取一个资源/一组资源

POST:表示创建资源,创建一个资源/一组资源,一般是一个

PUT/PATCH:都可以表示更新一些资源

DELETE:删除一个资源


自带的例子如下:

Postman进阶_python_27


Cookie

这个

Postman进阶_python_28

打开模板,注意set和get方法

Postman进阶_数据驱动_29


怎么去调式和打印:

Postman进阶_java_30

打印选项

Postman进阶_数据驱动_31

Postman进阶_数据驱动_32获取cookie方式

打印出来如下图

Postman进阶_java_33


鉴权:

Postman进阶_python_34

如下图:

Postman进阶_数据驱动_35

用postman去做

Postman进阶_性能测试_36

Postman进阶_性能测试_37Postman进阶_ide_38

2.0:是第三方登录方式,如登录时选择第三方QQ或者微信去登录,不用注册!

要先配置:

Postman进阶_python_39

Postman进阶_java_40这些文开发,一起配合验证2.0


collection容器

有几个模块,每个模块都有接口,这些模块间都有接口

Postman进阶_性能测试_41


Postman进阶_python_42

Postman进阶_ide_43每个文件夹就是要测试的模块

Postman进阶_java_44

Postman进阶_性能测试_45请求发送前做的脚本,初始化

Postman进阶_ide_46必须有,要写脚本判断

Postman进阶_性能测试_47工程保存,运行

Postman进阶_ide_48

Postman进阶_python_49编辑:

Postman进阶_数据驱动_50

Postman进阶_java_51导出:常用

Postman进阶_ide_52

Postman进阶_数据驱动_53:发布文档

Postman进阶_ide_54:付费的功能,略


导入数据创建collection


变量

之前都是入门

Postman进阶_ide_55

Postman进阶_数据驱动_56变量,两个大括号就是取它的值chai值

Postman进阶_java_57

Postman进阶_python_58

例如:

Postman进阶_性能测试_59

Postman进阶_ide_60:name的值不要写死,这里写死了

Postman进阶_数据驱动_61

看看例子,这个出现错误提示:变量name没有定义

Postman进阶_性能测试_62

我们增加一套环境

Postman进阶_java_63


Postman进阶_ide_64定义一个变量=python

Postman进阶_ide_65就有了这个production变量

Postman进阶_python_66

建立变量后没有报错,运行看看

Postman进阶_数据驱动_67

我们还可以设置其他环境,先选择如下图

Postman进阶_ide_68

加其他环境,跟上面一样!

Postman进阶_ide_69加个新变量为test,设置新的变量=php

运行后,变量变了

Postman进阶_python_70

要是设置相同的变量(类似jmeter的默认值),可以在全局变量定义一次就好。

Postman进阶_数据驱动_71


用命令执行postman脚本:

Postman进阶_java_72

Postman进阶_java_73

国内npm不好用,去淘宝搜索cnpm,国内用cnpm

Postman进阶_python_74

执行Run后

Postman进阶_性能测试_75

安装

1.输入:Postman进阶_java_76


Postman进阶_数据驱动_77

2.输入:Postman进阶_java_78

看到这些信息就安装成功

Postman进阶_数据驱动_79

Postman进阶_python_80

把结果导出

Postman进阶_ide_81

Postman进阶_性能测试_82

Postman进阶_数据驱动_83

把测试数据拷贝过来

Postman进阶_性能测试_84

Postman进阶_java_85测试数据

Postman进阶_ide_86测试脚本

回车运行,看看格式报告的对比:

CLI的报告格式:

Postman进阶_java_87

看html测试报告

Postman进阶_java_88

Postman进阶_数据驱动_89

在看json,用记事本打开,2600多行

Postman进阶_java_90


导出puthon脚本进行数据驱动的接口测试

导出多脚本,看你擅长,比如java tesrNG、python unittest

这里导出python。支持2和3

Postman进阶_数据驱动_91

我安装python3.6

Postman进阶_java_92安装这个requests

导出

Postman进阶_数据驱动_93

Postman进阶_java_94

Postman进阶_性能测试_95

Postman进阶_数据驱动_96新建一个文件叫Postman进阶_ide_97

Postman进阶_性能测试_98用文本编辑器去打开它(不一定要IDE)

把刚刚代码拷贝进来,画红线的是新加的(套路)

Postman进阶_python_99

简化代码:

Postman进阶_数据驱动_100

改下:把返回转出字典,再加断言

Postman进阶_java_101

命令行运行这个脚本:

Postman进阶_python_102在0.7秒运行成功了

Postman进阶_python_103写死的,没有数据驱动,刚刚postman我们变量不写死

再改写下有数据驱动的,在循环做个断言

Postman进阶_性能测试_104

命令行运行

Postman进阶_性能测试_1055.46秒运行成功


导出java代码来实现数据驱动的接口

比较其他的更麻烦,自己定义对象和类

Postman进阶_性能测试_106

新建项目

Postman进阶_数据驱动_107

修改下xml文件内容的3个依赖

Postman进阶_java_108

Postman进阶_python_109

Postman进阶_ide_110

Postman进阶_python_111

这个IDE是自动下载。

新建Postman进阶_python_112在工程建在这两个文件就行(图中工程师以前的)


Postman进阶_python_113:代表的是postmanPostman进阶_性能测试_114

java里字段反序列化跟下面这个一样,自己定义对象

Postman进阶_python_115

Postman进阶_性能测试_116字段跟上面一致

Postman进阶_ide_117

get和set方法都是IDE自动生成(百度)。


Postman进阶_java_118

从code拷贝的,对比下

Postman进阶_性能测试_119

Postman进阶_java_120

右键运行结果

Postman进阶_java_121

Postman进阶_java_122


总结回顾java:

1.先新建项目加依赖

Postman进阶_java_123

2.定义

Postman进阶_java_124

3.写脚本

Postman进阶_性能测试_114


「Have Fun ~ Tester !」