• 15
  • 15
分享

PostmanScript功能,支持原生的JS,所以可以使用JS解决很多接口自动化的一些问题,例如接口依赖、接口参数专递和接口断言等;

这里主要是针对Pre-RequestScript和Tests两个模块做介绍,它支持以嵌入脚本的方式动态准备测试数据,并根据业务需求设计测试用例。

postman接口的运行顺序:每次请求前,先运行Pre-requestScript中的方法,然后在调用接口,最后是运行Tests中的方法,即(Pre-requestScript->接口请求->Tests)

一、Pre-requestScript

此模块主要是在发送request之前,编写pre-requestscript,定制化request。

这里举一个实例,某个查询接口需要传入查询时间,参数名为beginTime和endTime,这里通过Pre-requestScript中的代码实现,在每次调用接口之前,获取日期beginTime和endTime,然后保存为环境变量,提供给接口传参,如下图:

1.png

每次运行接口都会更新环境变量的beginTime和endTime值;

2.png

(详细的JS获取日期方法解释可以到本园另一篇博客中查看:Postman使用js获取日期)

二、TestScript

收到response之后,用testscript,处理返回的数据。这个组件主要是用来处理接口依赖以及实现接口断言的地方;

  1. 接口参数依赖:通过获取返回数据中的值,保存(更新)为环境变量,来解决接口参数的依赖问题;

  2. 断言:判断接口返回数据是否包含每个特定值,来检查接口是否正常;

以下举两个实例,如下图:

获取gameCode参数保存到环境变量中,提供给后面的接口进行调用;

3.png

4.png

三、随机参数:

PostMan除了提供环境变量和全局变量外,还提供了三种随机数。

{{$guid}}
:添加一个V4风格GUID
{{$timestamp}}
:将当前的时间戳,精确到秒
{{$randomInt}}
:添加0和1000之间的随机整数

这里举个例子是需要传一个不可重复的订单号:

"OrderCode":"cross-{{$timestamp}}"


作者:胖叔blog

原文链接:https://www.cnblogs.com/JHblogs/p/9013867.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1.Android APP 内存不足时,如何获得内存?系统优先结束被挂起(暂停)的进程,释放内存。 2.APP 测试常见问题有哪些?原因有哪些?常见的有 crash、ANR(应用无响应、卡死等),一般由设备碎片化、网络波动大、内存泄漏、代码编写错误。 3.APP 自动化测试工具有哪些,并简要介绍1)APP UI测试工具:①uiautomator2openatx开源的ui自动化工具,支持Android和iOS。主要面向的编程语言是Python,API设计简洁易用②Appium基于Node.js的一款非常成熟的APP UI自动化工具,支持多种语言开发,在测试圈非常流行,可以说是...
            1 4 14174
            分享
          •   随着信息技术的高速发展和数据的海量增长,人们对软件系统的性能要求越来越高,希望系统能够承载更多的负荷,同时还能提供高效的服务,如何做好性能测试,也成为软件测试者更为重视的一个问题。在性能测试中,涉及到很多环节,比如测试环境的准备、测试数据的准备、性能测试场景设计、性能测试脚本录制、性能测试执行以及性能调优等,每个环节的工作都会影响到性能测试的准确性,如果操作不当,将会导致无法准确的实现“模拟实际情况”的目标。本文聚焦介绍测试数据应该如何准备,并通过实例浅谈测试数据对于性能测试结果的影响。  一、性能测试数据如何准备  性能测试涉及到的数据一般有三类:业务系统数据、测试铺底数据和测试执行数据...
            13 13 4217
            分享
          • 初学阶段对数据库、mysql等知识的较浅程度的理解近段时间了解了数据库等知识的概念以及MySQL的初步学习,以下就是我在学习过程中的一些收获,跟大家分享一下。数据库(DateBase,简称DS)数据是数据库中存储的基本对象。数据的种类有很多种,文本(Text)、图形(graph)、图像(lmage)、音频(Audio)、视频(Video)、各种档案记录等等。这都是属于数据的部分。数据库,概念:数据库顾名思义就是存放数据的仓库。数据库的存放空间很大,可以存放上亿条数据,但是数据库不是随意的将数据储存进仓库的,它是有一定规则的,因为这样保证了查询数据时的效率,否则查询效率会非常低。数据表(Date...
            13 13 2461
            分享
          • redis是一种不同于mysql的数据存储方式,redis其实更像是一种缓存,有一定的有效期,清除后就无法使用这个数据,但是读取速度快,多用于登录等功能场景。针对redis数据查询或者修改是需要进入服务器上使用命令操作的,但是通常情况下,redis的库和数值是比较庞大的,通过命令查询出来列表会比较冗长,这时候就可以借助一些可视化的操作工具来使用。(当然有些公司可能不愿意多使用这种工具,鼓励测试人员多多使用快捷命令,这样更有助于了解redis知识,但是可视化工具也是可以辅助的,二者不矛盾。)笔者自己用的比较多的是redisdesktopmanager工具。首先使用工具前需要连接服务器①自定义一个...
            1 1 15399
            分享
          •   特斯拉发布了 2023 年财报,全年总营收 967.73 亿美元(当前约 6928.95 亿元人民币),同比增加 19%。  在财报发布后的电话会议上,马斯克表示特斯拉在研发一款新的低成本汽车方面“已取得相当深入的进展”,不过没有透露具体细节或时间安排。马斯克称不会在业绩电话会议上讨论产品发布。  马斯克还表示,中国汽车制造商是世界上最具竞争力的车企,他们将在本国以外取得巨大成功,“坦率地说,如果不设置贸易壁垒,他们几乎会轻易击败世界上大多数其他汽车公司。他们非常出色”。  马斯克还称,没有看到与中国汽车制造商合作的明显机会,除非允许他们使用特斯拉超级充电网络或授权其自动驾驶技术。  IT...
            0 0 1109
            分享
      • 51testing软件测试圈微信