如何用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
    }
]

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

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

相关推荐
带娃的IT创业者3 分钟前
《Python实战进阶》No39:模型部署——TensorFlow Serving 与 ONNX
pytorch·python·tensorflow·持续部署
Bruce-li__10 分钟前
深入理解Python asyncio:从入门到实战,掌握异步编程精髓
网络·数据库·python
九月镇灵将20 分钟前
6.git项目实现变更拉取与上传
git·python·scrapy·scrapyd·gitpython·gerapy
小张学Python1 小时前
AI数字人Heygem:口播与唇形同步的福音,无需docker,无需配置环境,一键整合包来了
python·数字人·heygem
跳跳糖炒酸奶1 小时前
第四章、Isaacsim在GUI中构建机器人(2):组装一个简单的机器人
人工智能·python·算法·ubuntu·机器人
步木木1 小时前
Anaconda和Pycharm的区别,以及如何选择两者
ide·python·pycharm
星始流年1 小时前
解决PyInstaller打包PySide6+QML应用的资源文件问题
python·llm·pyspider
南玖yy1 小时前
Python网络爬虫:从入门到实践
爬虫·python
The Future is mine2 小时前
Python计算经纬度两点之间距离
开发语言·python
九月镇灵将2 小时前
GitPython库快速应用入门
git·python·gitpython