postman基本功能使用

1. Postman 介绍
Postman 是一款非常流行的接口调试工具,它使用简单,而且功能也很强大。不仅测试人员会使用,开发人员也会
经常使用。
官方网站: https://www.getpostman.com/
post界面基本操作:
实现步骤
1. 设置请求方式
2. 输入接口地址
3. 点击发送请求
4. 查看响应结果
案例一:
1、访问搜索商品接口,通过查询字符串的方式传递搜索关键词“项链”,并查看返回数据
2、请求路径为: http://localhost/Home/Goods/search.html?q=iPhone
请求方式: GET
请求路径: http://localhost/Home/Goods/search.html
传参方式:查询字符串(
q=iPhone
案例二:
1. 请求 TPshop 项目的登录接口,请求数据(username: 13088888888, password: 123456, verify_code: 1234)
2. 登录接口 URL http://localhost/index.php?m=Home&c=User&a=do_login

实现步骤: 

1. 设置请求方式为 POST
2. 输入请求路径
3. 设置请求数据(请求体 - 表单提交)
4. 点击发送请求
5. 查看响应数据

案例三:

1. 请求IHRM项目的登录接口,请求数据( {"mobile":"13800000002", "password":"123456"} )

2. 登录接口 URL http://182.92.81.159/api/sys/login
实现步骤:
1. 设置请求方式为 POST
2. 输入请求路径
3. 设置请求头
4. 设置请求体(请求体 -raw
5. 点击发送请求
6. 查看响应数据
设置请求头:
设置请求体:

 postman高级用法:

管理用例:

1. 创建测试集 -New Collection
Collection 可以理解成一个项目(系统),包含多个接口请求
2. 创建目录 -Add Folder
Folder 可以理解成一个项目模块
3. 添加请求 -Add Request
1、创建测试集,点击new,选择collection
2、点击collecton 后面的三个点,选择Add folder

3、添加请求,点击Folder后面的三个点,选择Add Request

postman环境设置:

  postman断言:

Postman 的断言是使用 JavaScript 语言编写的,写在 ‘Tests’ 标签页里
Tests 中的脚本在发送请求之后执行,会把断言的结果( PASS/FAIL )最终在 ‘Test Results’ 标签页中展示

 选择断言代码片段:

Tests 输入框的右侧配置了一些常用的断言代码片段,点击后自动填写到 Tests 输入框中,然后再进行修改

断言代码片段介绍:
1. Status code: Code is 200
// 判断响应状态码是否等于 200
pm.test( "Status code is 200" , function () {
pm.response.to.have.status( 200 );
});
2. Response body: Contains string
// 判断响应体中是否包含指定的字符串
pm.test( "Body matches string" , function () {
pm.expect(pm.response.text()).to.include( "string_you_want_to_search" );
});
例如:

pm.test("响应体中包含字符Success", function () {

    pm.expect(pm.response.text()).to.include("Success");

});

3. Response body: Is equal to a string
// 判断响应体数据是否等于指定的字符串
pm.test( "Body is correct" , function () {
pm.response.to.have.body( "response_body_string" );
});
4. Response body: JSON value check
// 校验响应的 JSON 数据
pm.test( "Your test name" , function () {
var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql( 100 );
});
例如:

pm.test("Msg的值是为操作成功", function () {

    var jsonData = pm.response.json();

    pm.expect(jsonData.Msg).to.eql("操作成功");

});

5. Response headers: Content-Type header check
// 判断响应头中是否包含指定的头标签
pm.test( "Content-Type is present" , function () {
pm.response.to.have.header( "Content-Type" );
});
测试结果
全局变量与环境变量
    
全局变量:全局变量是全局唯一的,不可重复定义的变量
环境变量:
  • 一个变量只能属于某个环境,在某一个环境中变量不可重复定义
  • 在环境与环境之间可以定义重复的变量
  • 一个环境可以包含多个环境变量
  • 常见环境分类:开发环境、测试环境、生产环境
设置变量:

全局变量

  • 1. 手动设置
  • 2. 代码设置: pm.globals.set("var_name", value);

环境变量

  • 1. 手动设置
  • 2. 代码设置: pm.environment.set("var_name", value);

请求前置脚本:

请求前置脚本就是在 “Pre-request Script” 标签中所编写的脚本,是在请求发送之前要执行的代码片段。
应用场景:
  • 请求参数中包含一个随机数或者时间戳
  • 请求之前需要对请求参数做进一步处理(如:对敏感参数进行加密)
案例
需求:请求 TPshop 项目中获取图片验证码的接口,需要在 URL 中设置随机数
请求路径: http://localhost/index.php?m=Home&c=User&a=verify&r=0.6569606479434671
分析:在 JS 中如何生成随机数? var r = Math.random(); // 返回 [0, 1) 之间的随机数
Postman关联
当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理。
  • 要获取某个请求的响应结果数据,可以通过在‘Tests’标签页中编写JavaScript脚本来实现
// 获取 JSON 格式的响应数据
var jsonData = pm.response.json();
  • 多个请求之间可以使用全局变量或环境变量来传递数据

// 把数据保存到全局变量中

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

  • 获取某个全局变量的值:{{var_name}}

 案例

1. 请求获取天气的接口, http://www.weather.com.cn/data/sk/101010100.html
2. 获取返回结果中的城市名称
3. 调用百度搜索接口: http://www.baidu.com/s?wd= 北京 ,把获取到的城市名称作为请求参数
第一步,获取城市名称,将名称提取出来保存在全局变量中
第二步,在请求中使用全局变量

批量执行测试用例 

要想批量执行测试用例,需要先把接口请求添加到测试集中,通过运行测试集的方式就可以实现批量运行测试用例。

1、点击测试集中的 “Run collection” 按钮,批量运行测试用例

2、弹出Collection Runner窗口,点击运行按钮

3、查看测试用例运行结果

 读取外部文件实现参数化

应用场景: 针对于某个接口,如果有大量的测试数据需要批量验证,可以把测试数据保存到数据文件中,通过参数化的方式来实现
定义数据文件
常用的数据文件格式有: CSV JSON

选择数据文件

在测试集运行“Collection Runner”窗口中,点击“Select File”按钮选择定义好的数据文件 

获取数据文件中的参数
其中,在postman中需要读取外部文件的参数名,通过参数名来获取文件中的数据;其中在不同的位置读取方式不同:在URL输入框,Params,Authorization,Headers,Body中读取数据方式为:{{参数名}}。在Pre-request Script和Tests中读取数据方式为:data.参数名
// 获取数据文件中的用户名参数
var username = data.username;
    案例    
  • 需求:批量查询手机号归属地和所属运营商信息,并校验运营商数据是否正确
  • 接口地址: http://cx.shouji.360.cn/phonearea.php?number=13012345678
  • 部分测试数据:
手机号 : 13012345678 运营商 : 联通
手机号 : 13800001111 运营商 : 移动
手机号 : 18966778899 运营商 : 电信
定义数据文件
  • CSV格式
phone,sp
13012345678, 联通
13800001111, 移动
18966778899, 电信
  • JSON格式
[
{ "phone" : "13041092162" , "sp" : " 联通 " },
{ "phone" : "13820003536" , "sp" : " 移动 " },
{ "phone" : "18911236688" , "sp" : " 电信 " }
]

 实现步骤截图  断言中的实际结果的data是代指文件

快速将web端的接口复制到postman上:

1、打开F12,找到自己需要的接口,鼠标右击选择Copy,选择Copy all as cURL(bash)

2、打开postman,选择Import,弹框选择Raw test,然后鼠标右击,选择paste把刚刚选择的接口数据复制到这个页面,点击continue,点击import,接口就被导入到postman软件中,然后正常运行操作即可

 

postman显示返回的base64图片验证码:

 目前返回的是一个base64的图片地址,正常来说需要复制地址在浏览器上查看,现在我们直接通过断言去实现

参考文章:postman中如何显示返回的base64图片验证码_postman获取图片验证码_昵称老重复的博客-CSDN博客

var jsonData=JSON.parse(responseBody);

var template ='<html><img src="{{data}}"/><html>';

pm.visualizer.set(template,jsonData)

运行完后在body的Visualiza里面查看,如果返回正确的话你可以看到Visualize右边有个绿色的小点,点击就可以看到图片内容啦

 获取断言数据后进行拼接:

使用Postman进行测试用例时,你可以使用手机号码作为参数。在Postman中,你可以通过多种方式来设置和使用手机号码。 一种常见的方法是在测试用例中直接硬编码手机号码。你可以在请求的参数中设置手机号码,然后在测试代码中引用该参数。这样,每次运行测试时,都会使用相同的手机号码进行测试。 另一种方法是在测试用例中使用环境变量来引用手机号码。你可以在Postman的环境变量中设置一个名为"phoneNumber"的变量,并将手机号码作为其值。然后,在测试用例中使用{{phoneNumber}}来引用该变量。这样,你可以在不同的环境中轻松地更改手机号码。 你还可以使用数据文件来批量测试多个手机号码。你可以创建一个包含多个手机号码的CSV文件,并在测试用例中引用该文件。你可以使用Postman的数据驱动功能来循环遍历数据文件中的手机号码,并应用到每个请求中。 总之,使用Postman进行测试用例时,你可以通过硬编码、环境变量或数据文件来设置和使用手机号码。具体的方法取决于你的需求和测试场景。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [如何使用Postman编写Testlink测试用例](https://blog.csdn.net/A18285759691/article/details/127041550)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [newman执行Postman测试用例](https://blog.csdn.net/weixin_50309052/article/details/124270077)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值