如何用Postman实现自动化测试?

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

这里简单演示在postman中怎样实现自动化测试(不涉及到用户登录的token认证)

导入测试用例文件,测试web接口

postman使用流程:创建collection文件夹,在该文件夹中创建post,get请求;其中传入的参数支持url格式(form-data),即在url后面拼接参数和值,来访问接口;也支持json格式(raw)

postman自动化测试: 在一条post/get请求中,pre-request scripts是请求前执行的脚本,Tests是请求返回结果执行的脚本。

1、变量设置

如果是url格式的请求,则在form-data中填写相应参数(pname),并定义参数变量({{pname}}),使其能够在pre-request scripts中通过测试用例文件为指定参数变量赋值,动态测试web接口。

如果是json格式的请求,则设置raw为json字符串类型,并写入带参数变量的json字符串。

2、pre-request script请求前执行的脚本

pre-request script为请求前执行的脚本,主要实现将测试用例文件中的数据赋值给Body中定义的参数变量。

复制代码
pm.collectionVariables.set("TDATA",data.TDATA)
pm.collectionVariables.set("TTYPE",data.TTYPE)

3、Tests请求返回结果执行的脚本

复制代码
pm.test("insertPersonal", function () {
    pm.response.to.have.status(200);
});

tests["Status code is 200"] = responseCode.code === 200;  //Status code : Code is 200

//判断请求时长是否小于200ms ,具体时长按情况自定义
tests["Response time is less than 200ms"] = responseTime < 200;

其中tests 为键值对形式(postman中与脚本相关的变量,可以直接使用),用于表示我们的测试结果是成功与否,最终展示在 Test Results 中。

  • key :(如:code 200)我们可以用来当做结果的一个描述
  • value:其值为布尔型,true 表示测试通过, false 表示测试失败。

4、使用Runner进行自动化测试

点击Runner,选择你要自动化测试的Collections文件夹 ,勾选你要自动化测试的web接口,导入测试用例文件,这里使用的是json格式的用例文件(可以使用csv),文件内容如下:

复制代码
[
    {
    "TDATA":9,
    "TTYPE":3
    },
    {
    "TDATA":2,
    "TTYPE":4
    },
    {
    "TDATA":3,
    "TTYPE":6
    },
    {
    "TDATA":4,
    "TTYPE":8
    }
]

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关推荐
FunTester5 分钟前
以自然语言实现AI自动化Browser-use 详细介绍与使用指南
自动化测试·语言模型·ai大模型·自然语言·使用指南·browse_use
databook38 分钟前
Manim实现波浪形文字特效
后端·python·动效
ggaofeng42 分钟前
用 Python 实现一个简化但可运行的 单点登录(SSO)系统
开发语言·python
Python极客之家1 小时前
基于数据挖掘的在线游戏行为分析预测系统
人工智能·python·机器学习·数据挖掘·毕业设计·课程设计
技术猴小猴1 小时前
如何使用Python实现UDP广播
开发语言·python·udp
峥嵘life2 小时前
Android16 adb投屏工具Scrcpy介绍
android·开发语言·python·学习·web安全·adb
AI视觉网奇2 小时前
vscode 不能跳转 ERR_OSSL_EVP_BAD_DECRYPT
python
文心快码BaiduComate2 小时前
Comate分饰多角:全栈开发一个Python学习网站
前端·后端·python
雨声不在3 小时前
cronet从编译到修改之: 支持IP直连
python·网络协议·tcp/ip·cronet
2401_841495643 小时前
【机器学习】朴素贝叶斯法
人工智能·python·数学·算法·机器学习·概率论·朴素贝叶斯法