> 技术文档 > Postman中断言_postman添加断言

Postman中断言_postman添加断言


用例管理

1.在测试活动中, 针对需求和接⼝⽂档进⾏⽤例设计时, 我们会发现针对⼀个需求或⼀个接⼝要考虑多种 情况, 设计的⽤例要尽量覆盖需求. 在接⼝测试中, 如果使⽤

⼯具(postman, Jmeter)实现, 需要对⽤例进⾏ 管理。

1

2

3

1.创建项目(系统)点击Nes Collection

2.创建目录Add Folder

3.添加请求Add Request

   (1).创建测试集- 点击‘New Collection’,在弹出框中输⼊测试集的名称和其他信息,再点击‘Create’按钮

 (2).创建⽬录- 在测试集上点击右键选择‘Add Folder’,在弹出框中输⼊⽬录的名称和其他信息,再点 击‘Create’按 钮

(3).添加请求- 在⽬录上点击右键选择‘Add Request’,在弹出框中输⼊请求的名称和其他信息,再点击保 存按钮

断言:比对结果,比对我们的预期结果和实际结果。


http请求状态码的断言

Status code:Code is 200

第一步:在SNIPPETS中,往下拉,有一项”Status code:Code is 200”,这个就是为场景中的第 1 条准备的,判断HTTP返回状态码是否为200。点击这一项,可以看到在其左边,断言代码自动添加,下图:

 返回

请求体里的数据的断言

Response body:Contains String

返回

json数据的断言

Response body:JSON value check

 返回

3.postman设置环境变量

全局变量: 作⽤范围是针对postman下⾯所有测试集均⽣效

环境变量:

1

2

3

4

- 只对选择了对应环境变量的测试集⽣效

 - 环境⼀般分为: 开发环境, 测试环境, ⽣产/线上环境(部分公司可能在测试与⽣产之间存在预⽣产环

境)

 - ⼀套环境中变量不能重复, 但是可以定义多个不重复的变量

 (1)点击,进入到界面并单击Add

(2)对其进行编辑,完成后点击Add添加

效果图:

 4.代码设置全局变量与环境变量

1

2

3

4

5

6

# 在Tests中编写如下代码实现变量的设置, 需要发送请求

# (1).全局变量的设置

pm.globals.set(\"variable_key\"\"variable_value\");

# (2).环境变量的设置

pm.environment.set(\"variable_key\"\"variable_value\");

# 注意: 通过代码实现环境变量的添加, 需要先选中⼀个环境, 才能设置成功.

  

2.点击

中Globals,如下图

5. 接⼝关联案例

1

2

3

(1).请求获取天⽓的接⼝,http://www.weather.com.cn/data/sk/101010100.html

(2).获取返回结果中的城市名称

(3).调⽤百度搜索接⼝: http://www.baidu.com/s?wd=北京 ,把获取到的城市名称作为请求参

  

 2.访问百度查询接⼝, 将关键词设置为上⼀个请求添加的环境变量的值

 6.批量执⾏测试⽤例

1

2

// 需求: 批量查询⼿机号归属地和所属运营商信息,并校验运营商数据是否正确

// 接⼝: http://cx.shouji.360.cn/phonearea.php?number=13012345678

  

 // 应⽤场景: 针对于某个接⼝,如果有⼤量的测试数据需要批量验证,可以把测试数据保存到数据⽂件中,通过参数化 的⽅式来实现。

 2.使用excel表将多条数据加入,并保存为文件类型为.csv

最终返回结果

7.报告⽣成

环境搭建

Newman是⼀款基于nodejs开发的可以运⾏Postman脚本的⼯具,并可以⽣成测试报告. 其环境搭建如 下:

1

2

3

4

5

6

7

8

9

# 1.nodejs环境准备

(1).下载nodejs: http://nodejs.cn/download/

(2).安装nodejs, 并配置环境变量

# 2.安装Newman

(1).命令⾏安装newman及检验:

 - 安装: npm install -g newman

 - 检验: newman -v

 注意: 如果报错执⾏: npm config set strict-ssl false

(2).命令⾏安装new-reporter-html: npm install -g newman-reporter-html

  报告生成实现

1

2

3

4

5

6

7

8

9

10

11

# ⽣成报告实现步骤

(1).导出测试集

(2).执⾏测试, 打开命令⾏窗⼝:

 newman run 测试脚本⽂件 -e 环境变量⽂件 -d 测试数据⽂件 -r html --reporterhtml-export 测试报告存储路径

# 参数说明:

 run xxx.json:表示要执⾏的postman脚本,即导出的测试集数据

 -e source:⽤来指定环境变量⽂件的路径

 -d source:⽤来指定测试数据⽂件的路径

 -r html:⽤来指定⽣成的数据结果的类型,如json、html等

 --reporter-html-export source:指定html报告⽣成的路径;如果不设置该参数,则会在当前⽬

录下⽣成⼀个名字为newman的⽂件夹

  

实现案例

1

2

3

4

5

# 需求:

1.创建测试集h2007b

2.在测试集中创建两个请求

 (1).⼀个请求天⽓接⼝

 (2).另⼀个请求使⽤百度搜索接⼝搜索上⼀个天⽓查询接⼝的城市名称

  

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

# 实现思路

1.创建测试集:h2007b

2.创建天⽓查询接⼝

 - 请求⽅式: GET

 - 请求地址: http://www.weather.com.cn/data/sk/101010100.html

 - 请求后置脚本, 从将响应数据转换为JSON数据, 再取出城市信息设置为全局变量: \"city\" -->

city:

 var jsonData = pm.response.json();

 var city = jsonData.weatherinfo.city;

 pm.globals.set(\"city\", city);

3.创建百度查询接⼝:

 - 请求⽅式: GET

 - 请求地址: http://www.baidu.com/s?wd=城市名称, 城市名称使⽤全局变量的city

4.导出测试集

5.运⾏命令⽣成报告

newman run h2007b.postman_collection.json -r html --reporter-html-export

reporter.html

  

首先

二,导出

我会试着放下往事,管他有多美

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

虚拟游戏攻略