postman从接口测试到接口自动化

这篇具有很好参考价值的文章主要介绍了postman从接口测试到接口自动化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.postman发送请求

(1)HTTP请求

(2)HTTP响应

(3)postman发送get请求

  (4)发送post请求

1 以表单形式发送请求

2.以json格式发送请求

2.postman的断言

3.全局变量和环境变量

1.手动设置全局变量和环境变量

2.代码设置全局变量和环境变量

3.查看和编辑

 4.全局变量和环境变量的使用

4.postman的关联

5.请求前置脚本

6.批量执行测试用例

7.参数化

 8.生成测试报告

1、newman介绍与安装

2、导出测试集、环境变量、全局变量

3、生成测试报告

1.postman发送请求

(1)HTTP请求请求格式

  • 请求行:请求方法   URL  协议版本
  • 请求头:K:V
  • 空行:代表请求头的结束
  • 请求体:发送给服务器请求时,携带的数据

下图为访问csdn时使用fiddler抓包工具查看请求,各部分对应的请求格式

postman从接口测试到接口自动化

(2)HTTP响应

  • 响应行:协议版本、状态码、状态码描述
  • 响应头:K:V 格式数据。
  • 空行:代表响应头 结束。
  • 响应体:服务回发给客户端的 数据。几乎所有的响应包,都有响应体。

postman从接口测试到接口自动化

(3)postman发送get请求

postman从接口测试到接口自动化

(4)发送post请求

        post请求分为俩种情况,一种是以表单方式提交数据,一种是以json格式提交数据

1、 以表单形式发送请求

     post以表单形式发送请求的,它的请求头Content-Type的值是application/x-www-form-urlencoded,请求参数时写在Body下面的 x-www-form-urlencoded里。

postman从接口测试到接口自动化

2.以json格式发送请求

         post发送json请求时,它的请求头Content-Type的值是application/json,请求参数时写在Body下面的row里,最右边格式选择json。

 2.postman的断言

  • 使用JavaScript语言编写的,写在postman的【Tests】标签中

  • 【Tests】中的脚本在请求发送之后执行,它会把断言的结果(PASS/FAIL)最终在【Test Results】Test Result标签页中。

  • Postman的常用断言

    • 断言响应状态码是否为200(Status code is 200)

    • 断言响应体JSON数据校验(Response body:JSON value check)

    • 断言响应体是否包含指定字符串(Response body:Contains string)

    • 断言响应体是否等于指定字符串(Response body:Is equal to string)

    • 断言响应体是否包含指定的头信息(Response headers:Content-Type header check)

(1)点击Tests标签

(2)在右侧可以选择断言方式,会自动在Tests下生成代码,修改内容

(3)点击发送请求后点击Test Results即可查看断言结果

1、对响应状态码断言

postman从接口测试到接口自动化

 举例:对以下响应结果作断言:

postman从接口测试到接口自动化

// 断言响应状态码为 200
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm:postman的实例。
    test() postman实例的测试方法。 这个方法 有 2 个参数。
    参1:"Status code is 200"。 这个参数可以任意修改,不影响 断言。
    作用:在断言结束后,显示给用户,断言结果的提示文字。
参2:是一个 匿名函数 调用。
    pm.response.to.have.status(200); 的意思是:
    postman的响应结果中,应该有 响应状态码 200。 ———— 这里的 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:postman的实例。
    test() postman实例的测试方法。 这个方法 有 2 个参数。
    参1:"Body matches string"。 这个参数可以任意修改,不影响 断言。
        作用:在断言结束后,显示给用户,断言结果的提示文字。
    参2:是一个 匿名函数 调用。
        pm.expect(pm.response.text()).to.include("string_you_want_to_search"); 的意思是:
        postman 期望 响应文本中,应该包含 “你想搜索的字符串”(预期结果)

postman从接口测试到接口自动化

3、断言JSON数据

Response body: JSON value Check
pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});
pm:postman的实例。
    test() postman实例的测试方法。 这个方法 有 2 个参数。
参1:"Body matches string"。 这个参数可以任意修改,不影响 断言。
    作用:在断言结束后,显示给用户,断言结果的提示文字。
参2:是一个 匿名函数 调用。
    var jsonData = pm.response.json(); 将 整个 json响应体 赋值到 变量 jsonData 上。
    pm.expect(jsonData.value).to.eql(100); postman 期望 json结果中 指定key 的值为 xxx
    value 能取值:success、code、message

postman从接口测试到接口自动化

 发送请求后点击TestResults查看断言结果

postman从接口测试到接口自动化

3.全局变量和环境变量

1.手动设置全局变量和环境变量

1.设置全局变量

postman从接口测试到接口自动化

postman从接口测试到接口自动化

postman从接口测试到接口自动化

2.设置环境变量

postman从接口测试到接口自动化

 由于测试时候,会有开发环境,测试环境和生产环境,所有在设置环境变量时,需要给环境变量的环境创建名称

postman从接口测试到接口自动化

2.代码设置全局变量和环境变量

postman从接口测试到接口自动化

3.查看和编辑

点击“眼睛”查看,点击页面edit可以编辑

postman从接口测试到接口自动化

 4.全局变量和环境变量的使用

(1)在url中获取环境变量

postman从接口测试到接口自动化

(2)在参数中获取环境变量

postman从接口测试到接口自动化

(3)在请求体中获取环境变量

postman从接口测试到接口自动化

4.通过代码获取环境变量

通过代码获取环境变量,并通过控制台打印

postman从接口测试到接口自动化

注意:

        1.特定测试环境的环境变量,只能选定特定的测试环境使用

        2.当环境变量和全局变量名称相同时,优先使用环境变量

4.postman的关联

当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理

实现方式:

  • 在前置接口中,保存并提取要传递的数据

  • 将数据保存在全局变量或环境变量中

  • 在后续接口中,直接使用保存在全局变量或环境变量中的参数值

接口关联例子:

http://www.weather.com.cn/data/sk/101010100.html

http://www.baidu.com/s?wd=北京

1、通过天气查询获得城市参数

postman从接口测试到接口自动化

2、引用存储的全局变量,将参数放在下一个接口中

postman从接口测试到接口自动化

5.请求前置脚本

请求前置脚本就是在Pre-request Script标签中所编写的脚本,是在请求发送之前要执行的代码片段

postman从接口测试到接口自动化

使用场景

  • 在请求url中需要使用随机数或时间戳

  • 需要对敏感数据进行加密

使用案例

  • http://localhost/index.php?m=Home&c=User&a=verify&r=0.122315926

  • 在不断使用同一个随机数发请求,可能会要求验证,所以让r成为随机数

postman从接口测试到接口自动化

6.批量执行测试用例

通过运行测试集的方式就可以实现批量运行测试用例

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

postman从接口测试到接口自动化

2. 选中需要执行的用例 ,选择测试环境,迭代次数,请求间隔时间,如果有外部参数可以导入外部参数

postman从接口测试到接口自动化

7.参数化

在批量运行测试用例中,有一个Data(Select File)可以选中外部文件,来批量运行

  • 使用场景:针对单个接口,存在大量数据需要批量测试的情况,我们将数据存放在外部的文件,然后postman通过读取外部文件来逐行执行脚本

  • 常见数据格式

    • CSV

      • 优点:数据组织格式简单
      • 缺点:
        • 1. 不能测试 bool 类型。因为 postman 读取 csv 后,将所有非数值类型数据,自动添加 ”“ 变为字符串
        • 2. 不能存储复杂数据类型(元组、列表、字典)。
        • 3. 不能实现 参数测试。
          应用场景:数据量较大,数据组织格式简单。
    • json

      •  优点:

        • 1. 可以测试 bool类型

        • 2. 能使用 复杂数据类型

        • 3. 可以实现 参数测试。

      • 缺点:相同数据量,json文件要远大于 csv 文件。 应用场景:数据量较少,数据组织格式复杂。需要进行 参数测试

  • 操作步骤

    1、准备测试数据文件

    2、设置参数

    ​ 1.在请求中使用时,直接通过{{变量名}}引用

    ​ 2.在断言中使用时,需要借助postman内置的data方法来进行使用,如data.username

    3、选择数据进行批量执行

    4、结果检查

示例:

需求:批量查询手机号归属地和所属运营商信息,并校验运营商数据是否正确
接口地址:http://cx.shouji.360.cn/phonearea.php?number=13212345678
部分测试数据:
手机号:13012345678 运营商:联通
手机号:13800001111 运营商:移动
手机号:18966778899 运营商:电信

1、通过CSV文件导入

最好是在nopad++中新建文件,设置编码为utf-8,否则文字乱码

postman从接口测试到接口自动化

mobile是获取传递data里面的电话号码,另外在断言中取出data.csv 里面的sp与响应的jsonData里面的sp的值作断言

postman从接口测试到接口自动化

在postman中引入csv参数

postman从接口测试到接口自动化

运行结果显示

postman从接口测试到接口自动化

2.通过json文件导入

与csv用法一致,只是导入的文件内容格式和内容不同,使用时修改参数以及断言时的字段,这里不再赘述

postman从接口测试到接口自动化

 8.生成测试报告

1、newman介绍与安装

  • Newman:一款基于node.js开发的可以运行Postman脚本的工具,并且可以生成测试报告

  • 安装Newman

    • 安装nodejs

      • 下载地址:下载 | Node.js 中文网/

      • windows系统直接双击运行安装包,如【node-v12.10.0-x64.msi】

      • 校验:打开cmd输入【node -v】,看到输出node版本信息,即代表成功

      • postman从接口测试到接口自动化

  • 安装Newman

    • 打开cmd,输入【npm install -g newman】

      • 校验:输入【newman -v】

      • postman从接口测试到接口自动化

  • 安装newman-reporter-html

    • 打开cmd输入:【npm install -g newman-reporter-html】

    • postman从接口测试到接口自动化

2、导出测试集、环境变量、全局变量

导出测试集,环境变量,环境变量,将导出数据放在同一个文件夹下

导出测试集

postman从接口测试到接口自动化

导出环境变量,命名用英文命名

postman从接口测试到接口自动化

导出全局变量

postman从接口测试到接口自动化

3、生成测试报告

将所有导出文件放在一个文件夹下,在该文件夹下输入cmd,执行命令

postman从接口测试到接口自动化

newman run 测试集 -e 环境变量 -g 全局变量 -d 外部参数 -r html ,执行完成之后会在当前文件夹下生成一个newman文件夹,文件夹里面是一个html报告,如下图

postman从接口测试到接口自动化文章来源地址https://www.toymoban.com/news/detail-406242.html


到了这里,关于postman从接口测试到接口自动化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Postman实现接口自动化测试

    功能测试从页面发起请求进行测试,接口测试可以借助工具或代码直接将数据发送到服务端进行测试。  功能测试和接口测试对应的时间 接口测试的流程  URL的组成 HTTP:超文本传输协议,基于请求与响应的应用层协议 作用:规定了客户端与服务器之间信息传递规范,是二者共

    2024年01月19日
    浏览(50)
  • Postman —— 实现接口自动化测试!

    目录 postman使用 postman进行简单压力测试 1、新建一个fodder,在fodder下添加要进行压力测试的接口: 2、post接口测试,参数从txt导入 3、设置 Pre-request-Script 参数 4、设置test(便于观察测试结果) 5、保存请求,点击runner,按如下设置 6、设置Iteration 7、测试结果 参考: 返回目录

    2024年03月09日
    浏览(37)
  • postman做接口自动化测试

    可能是目前最好用的web接口调试工具 无需注册(注册后可多终端同步用例) 免费(每年付费$60可用云服务,30天免费试用) 保存历史记录 支持录制请求 基于Chrome的V8引擎,支持JS脚本(基本支持ES6,浏览器相关对象和API和require() import等除外) 同样的代码和用例可用于自动化

    2024年02月03日
    浏览(43)
  • postman接口自动化测试框架实战!

    把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试,模拟人去操作软件界面,把人从简单重复的劳动中解放出来。 本质是用代码去测试另一段代码,属于一种软件开发工作,已经开发完成的用例还必须随着被测试对象的改变而更新,因此,还

    2024年02月11日
    浏览(43)
  • 使用Postman进行接口自动化测试

    我们先思考一下,如果需要达到自动化接口测试的效果,那么我们在基本的模拟请求上还需要做哪些呢? 以下我粗略概括为 3 个问题(欢迎更多补充与建议): 如何判断接口是否请求成功 如何进行接口批量、定期测试 如何处理依赖接口问题(比如商品下单的接口必须要求

    2024年01月18日
    浏览(48)
  • Postman如何做接口自动化测试?

    前言 什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试,模拟人去操作软件界面,把人从简单重复的劳动中解放出来。 本质是用代码去测试另一段代码,属于一种软件开发工作,已经开发完成的用例还必须随着被测试对象的

    2024年04月10日
    浏览(39)
  • 接口自动化测试:Postman实战教程!

    (1)服务器端(server): 在使用别人的服务器上,例如微信APP客户端,服务端在腾讯的服务端上,微信上的账号信息,聊天记录均存储在服务端上;用户A发送1条信息到服务端上,服务端再把这条信息转发到用户B上。 服务器使用的语言分别为:Java、Python、PHP、Go、C、C++等等

    2024年04月28日
    浏览(26)
  • Python自动化测试——postman,jmeter接口测试

    关于众所postman,jmeter,做自动化测试的我想对这两个词并不陌生。大家都知道postman用来做接口测试很方便,下面我们就用一些例子来演示一下它该如何进行接口测试: 首先我们来介绍一下接口测试的概念: 1、什么是接口测试? 接口测试是测试系统组件间接口的一种测试。接

    2024年04月27日
    浏览(37)
  • 测试中使用Postman实现接口自动化

    1.创建一个工作区 2.按照自己的需求去命名创建 1按照步骤去创建环境及表格的【变量】:VARIABLE 和【当前值】:CURRENT VALUE TEST_3 就是刚刚创建的环境 host就不用多说了都明白 Globals 这个就是来改变我们在请求接口时候赋值 全局变量 通用的 用法就不细说了往下看!!! 在第一

    2024年02月11日
    浏览(44)
  • Postman实战:轻松搞定接口自动化测试

    随着移动互联网的发展,接口自动化测试已经成为软件测试领域中不可或缺的一部分。而作为最流行的API开发工具之一,Postman凭借其简单易用、功能强大的特点赢得了越来越多开发者和测试人员的青睐。 想要掌握Postman的接口自动化测试技能,只需要花费少量时间学习即可轻

    2024年02月15日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包