热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

『政善治』Postman—17.接口测试项目综合练习(二)

(三)Postman测试实操简述整体思路:我们需要创建5个请求,鉴权、注册、登陆、查询、注销。创建一个Collection

(三)Postman测试实操

简述整体思路:

  1. 我们需要创建5个请求,鉴权、注册、登陆、查询、注销。
  2. 创建一个Collection测试集管理以上请求。
  3. 创建一个环境变量,对该项目的公共变量进行管理。
  4. 先调用鉴权接口,把获得的token存储环境变量中,方便后续接口使用。
  5. 每个请求都需要编写断言。

1、准备工作

(1)创建一个Collection测试集

因为是新的项目,我们需要为该项目创建一个新的测试集,方便请求的管理。

例如:叫“综合练习”。

(2)创建一个环境变量

创建一个环境变量,方便对该项目的公共变量进行管理。

一般与Collection测试集同名。

2、 创建请求

(1)创建auth鉴权请求

通过前面接口文档可以分析得出:

auth鉴权接口如果不传递token参数,就重新分配一个token并返回。

如果传递有效的token参数,此时不再重新分配token;

所以我们就创建一个不带参数的auth鉴权请求即可。

(只填写请求方式和请求参数即可)

如下图:

『政善治』Postman — 17.接口测试项目综合练习(二)

然后我们编写请求后置脚本Tests

步骤1:编写断言

// 断言鉴权操作成功
// 返回值中msg是否等于success
pm.test("鉴权接口请求成功", function () {
    var jsOnData= pm.response.json();
    pm.expect(jsonData.msg).to.eql("success");
});

步骤2:把返回值中的token数据保存到环境变量中,提后后续接口使用。

// 把鉴权接口返回数据中的token信息,保存到环境变量中
pm.environment.set("authToken", pm.response.json().token);

编写完成后,我们再Send验证一次:

『政善治』Postman — 17.接口测试项目综合练习(二)

可以看到Tests中的脚本是没有问题,我们再来看看“综合练习”环境变量中的内容。

如下图:

『政善治』Postman — 17.接口测试项目综合练习(二)

看到以上信息,说明auth鉴权请求实现完成。

(2)用户注册接口实现

先填写请求方式和请求地址,并填写请求数据,如下图:

『政善治』Postman — 17.接口测试项目综合练习(二)

然后在请求头中填写token信息。

『政善治』Postman — 17.接口测试项目综合练习(二)

最后在编写后置脚本Tests断言

// 断言用户注册操作是否成功
pm.test("注册操作成功", function () {
    var jsOnData= pm.response.json();
    pm.expect(jsonData.msg).to.include("注册成功");
});

发送请求并查看结果,如下图:

『政善治』Postman — 17.接口测试项目综合练习(二)

以上就完成了用户注册接口的实现。

(3)用户登陆接口实现

先填写请求方式和请求地址,并填写请求数据,如下图:

『政善治』Postman — 17.接口测试项目综合练习(二)

然后在请求头中填写token信息。

『政善治』Postman — 17.接口测试项目综合练习(二)

最后在编写后置脚本Tests断言和数据处理

断言:

// 断言用户登陆成功
pm.test("用户登录成功", function () {
    var jsOnData= pm.response.json();
    pm.expect(jsonData.msg).to.include("登录成功");
});

数据处理:

// 把返回用户的userid,添加到环境变量中。
// 方便后续的接口使用。
pm.environment.set("userid", pm.response.json().userid);

发送请求并查看结果,如下图:

『政善治』Postman — 17.接口测试项目综合练习(二)

查看环境变量userid已被添加。

『政善治』Postman — 17.接口测试项目综合练习(二)

以上就完成了用户登录接口的实现。

(4)查询用户信息接口实现

先填写请求方式和请求地址,并填写请求数据,如下图:

『政善治』Postman — 17.接口测试项目综合练习(二)

然后在请求头中填写token信息。

『政善治』Postman — 17.接口测试项目综合练习(二)

最后在编写后置脚本Tests断言

// 断言查询用户信息成功
pm.test("查询用户信息成功", function () {
    var jsOnData= pm.response.json();
    pm.expect(jsonData.msg).to.include("查询成功");
});

发送请求并查看结果,如下图:

『政善治』Postman — 17.接口测试项目综合练习(二)

以上就完成了查询用户信息接口的实现。

(5)用户注销接口实现

先填写请求方式和请求地址,而logout(注销)接口并不需要传递参数,只需要传请求头中有效的token。

『政善治』Postman — 17.接口测试项目综合练习(二)

编写后置脚本Tests断言

// 断言用户注销成功
pm.test("用户退出登录成功", function () {
    var jsOnData= pm.response.json();
    pm.expect(jsonData.msg).to.include("退出登录");
});

发送请求并查看结果,如下图:

『政善治』Postman — 17.接口测试项目综合练习(二)

以上就完成了用户注销接口的实现。

提示:如果再次调用登录接口进行用户登录,就会出现登录失败的现象。需要重新auth鉴权,再进行登录。

以上综合项目中的接口我们都创建完成了。

(四)加入数据驱动

1、准备数据文件

更具上面的5个接口,来编辑数据文件,如下:

usernane password registerMsg loginUser loginPwd loginMsg userMsg
xiaoming3 123456 注册成功 xiaoming3 123456 登录成功 查询成功
xiaoming3 123456 用户已被注册 xiaoming3 12345666 用户名密码错误 您还未登陆
xiaoming3@ 123456 参数错误 xiaoming3@ 123456 参数错误 您还未登陆
xiaoming3aaaaaaaaaaaaaa 123456 参数错误 xiaoming3aaaaaaaaaaaaaa 123456 参数错误 您还未登陆

当我们用到数据驱动的时候,首先要想清楚,测试的输入数据是哪些,还有预期的返回信息是什么。

提示:

  • 要把Excel文件另存为.cvs文件。
  • 使用Notepad++打开数据文件,然后将数据文件转为UTF-8编码

2、修改请求中的参数

我们以注册接口为例,其他接口同理。

修改请求参数如下:

『政善治』Postman — 17.接口测试项目综合练习(二)

修改请求后置脚本Tests,如下:

『政善治』Postman — 17.接口测试项目综合练习(二)

3、使用测试驱动方式执行测试集

点击测试集,然后进入Collection Runner界面。

执行如下操作:

『政善治』Postman — 17.接口测试项目综合练习(二)

提示:每次上传完数据文件后,需要Preview一下,确保上传的数据信息的准确性。

如下图:

『政善治』Postman — 17.接口测试项目综合练习(二)

最后点击Run综合练习DDT执行测试集。

4、分析测试结果

通过分析测试结果,可以判断接口的是否正确,也可以对测试数据重新进行补充或者修改。

『政善治』Postman — 17.接口测试项目综合练习(二)

最后得出接口测试的结果。

以上就是在工作中我们使用Postman进行接口测试的基础流程。


推荐阅读
  • C++中的三角函数计算及其应用
    本文介绍了C++中的三角函数的计算方法和应用,包括计算余弦、正弦、正切值以及反三角函数求对应的弧度制角度的示例代码。代码中使用了C++的数学库和命名空间,通过赋值和输出语句实现了三角函数的计算和结果显示。通过学习本文,读者可以了解到C++中三角函数的基本用法和应用场景。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
author-avatar
mobiledu2502858945
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有