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
首先
二,导出
我会试着放下往事,管他有多美
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取