【Postman】接口测试&压力测试

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

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。它提供功能强大的 Web API & HTTP 请求调试。

postman并发压测,postman,servlet,java,前端

1、环境变量和全局变量设置

环境变量可以使用在以下地方:

  • URL
  • URL params
  • Header values
  • form-data/url-encoded values
  • Raw body content
  • Helper fields

postman并发压测,postman,servlet,java,前端

先设置好变量名及数值后,接下来就可以调用环境变量名,例如:

postman并发压测,postman,servlet,java,前端

key对应的values,填写{{address}},注意需要用双花括号引用。

全局变量设置方法跟环境变量一样,点击"Globals" 后就会出现添加环境变量类似的页面,进行变量和值的设置。

postman并发压测,postman,servlet,java,前端

全局变量设置应用于整个(Collection)中的请求。

GET 和POST 的区别:

  • GET 使用URL 或Cookie 传参,而POST将数据放在Body 中。
  • GET的URL 在长度上会有限制,而POST没有。
  • POST比GET相对安全,因为在地址栏不可见。
  • 一般POST请求用来获取数据,POST请求用来发送数据。

2、Get请求:

postman并发压测,postman,servlet,java,前端

postman并发压测,postman,servlet,java,前端

参考开发提供的接口设计文档,提供传参数据录入。

3、post请求:

如常见基本认证的登录用的较多,用户名和密码也可以通过设置的环境变量获取。Postman支持不同的认证机制如: Basic、Digest、OAuth等),支持收到响应语法高亮(HTML\JSON\XML等)。

postman并发压测,postman,servlet,java,前端

下面举一个添加发布会接口例子开展:

postman并发压测,postman,servlet,java,前端

选择form-data方式传参发送。

postman并发压测,postman,servlet,java,前端

一、Body:

1. form-data
  就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来说明文件类型;content-disposition,用来说明字段的一些信息;由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。
2.x-www-form-urlencoded
  就是application/x-www-from-urlencoded,会将表单内的数据转换为键值对
3.raw
  可以上传任意格式的文本, 可以上传text、 json、 xml、 html等
 4.binary
   相当于Content-Type:application/octet-stream 只可以上传二进制数据,通常用来上传文件,由于没有键值,所以, 一次只能上传一个文件。

 二、Pre-requestScript 的使用

 对于环境变量和全局变量的使用,除了上面所讲的方法外,也可以用Pre-requestScript 方法。

以login接口为例,在"Pre-requestScript"中设置环境变量 "username", "password",在Body 中选取"form-data" 格式,输入所需的key-value, value即为变量{{username}}, {{password}}。

postman并发压测,postman,servlet,java,前端

三、Tests使用(断言)

所谓断言,主要用于测试返回的数据结果进行匹配判断,匹配成功返回PASS,失败返回FAIL。

下图方法一,直接点击右侧例子函数,会自动生成出现在左侧窗口脚本,只需修改数据即可。

postman并发压测,postman,servlet,java,前端

方法二:直接自己写脚本,如下图所示:

postman并发压测,postman,servlet,java,前端

 常用tests用法如下:

1.检查response body中是否包含某个string
tests["Body matches string"] = responseBody.has("string_you_want_to_search");

注意:"Body matches string" 需唯一。

2.检测JSON中的某个值是否等于预期的值
var data = JSON.parse(responseBody);
tests["Your test name"] = data.value === 100;

JSON.parse()方法,把json字符串转化为对象。parse()会进行json格式的检查是一个安全的函数。 

如:检查json中某个数组元素的个数(这里检测programs的长度)
var data = JSON.parse(responseBody);
tests["program's lenght"] = data.programs.length === 5;

3.检查response body是否与某个string相等
4.转换XML body为JSON对象
var jsonObject = xml2Json(responseBody);

tests["Body is correct"] = responseBody === "response_body_string";

5.测试response Headers中的某个元素是否存在(如:Content-Type)
tests["Content-Type is present"] = postman.getResponseHeader("Content-Type"); 
//getResponseHeader()方法会返回header的值,如果该值存在

或者: 

tests["Content-Type is present"] = responseHeaders.hasOwnProperty("Content-Type");
上面的方法,不区分大小写。下面的方法,要区分大小写。

6.验证Status code的值

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

7.验证Response time是否小于某个值
tests["Response time is less than 200ms"] = responseTime < 200;

8.name是否包含某个值
tests["Status code name has string"] = responseCode.name.has("Created");

9.POST 请求的状态响应码是否是某个值
tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;

10.很小的JSON数据验证器

var schema = {

"items": {

"type": "boolean"

}

};

var data1 = [true, false];

var data2 = [true, 123];

console.log(tv4.error);

tests["Valid Data1"] = tv4.validate(data1, schema);

tests["Valid Data2"] = tv4.validate(data2, schema);

4、传参场景(比如测试登录接口需要不的账号,密码)

在接口测试过程中,有的时候需要构建多组同类型数据测试(正常数据,异常数据),当然没必要写多条测试用例,可使用CSV格式传参
举个例子,在测试用户登录接口的时候,需要用户输入相应的手机号和密码
那么,需要构建的测试数据有:手机号&密码正确,手机号正确&密码错误,手机号错误&密码正确,手机号为空&密码不为空,手机号正确&密码为空,手机&密码均为空。
如post请求:/api/login?phone={{phone}}&password={{password}}
a、可本地创建一个txt文档,并编辑数据,数据的头部必须参数名称保持一致,也就是phone和password,数据如下:

postman并发压测,postman,servlet,java,前端

b、然后选择批量运行,即collection runner,操作如下:

postman并发压测,postman,servlet,java,前端

数据预览图,如下:

postman并发压测,postman,servlet,java,前端

c、最后点击运行就OK,可以在collection runner->Run Results查看运行结果。

5、压力测试

压力测试只能以文件夹的方式执行多个接口,不能单独执行。

postman并发压测,postman,servlet,java,前端

设置并发10次。执行后结果:

postman并发压测,postman,servlet,java,前端

 以上是postman基本操作总结。文章来源地址https://www.toymoban.com/news/detail-626771.html

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

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

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

相关文章

  • 使用PostMan进行接口、压力测试

    一、安装 下载地址:https://www.postman.com/ 选择对应系统版本 二、接口测试 选择Collections,创建测试窗口 创建接口测试 三、压力测试 创建测试集 编写脚本 为了检查每次请求都能满足时延要求,需要对每次的请求,增加test脚本,用以检验请求的耗时 在Tests中增加检测脚本,如

    2024年02月15日
    浏览(58)
  • 6个步骤轻松实现 postman 接口压力测试(建议收藏)

    这里讲是postman做接口并发测试,基础用法不做赘述 最后: 可以在我的VX公众号:【自动化测试老司机】免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓

    2024年02月04日
    浏览(38)
  • 接口测试工具——Postman测试工具 & Swagger接口测试+SpringBoot整合 & JMeter高并发测试工具

    头部携带token 类型选择JSON https://apifox.com/ swagger2,较多 swagger3, Knife4j的前身是swagger-bootstrap=ui,前身swagger–bootstrap-ui是一个纯swagger–ui的ui皮肤项目 https://doc.xiaominfo.com/docs/quick-start 底层就是swagger 序号 注解 作用 1 @Api(tags = “图书的api接口类”) 左侧名字 2 @ApiOperation(“findPa

    2024年02月12日
    浏览(63)
  • PostMan、LoadRunner进行并发压测流程

    两个记账接口在同一时间大量处理同一账户账务时,锁表顺序不同导致死锁,在修改完代码后模拟生产记账流程进行测试,需要对两个接口进行并发测试。 在进行压测的时候,需要对流水号进行递增。 使用JavaScript语言进行脚本编写 点击POST链接 查看请求和返回的信息。 查询

    2024年01月22日
    浏览(31)
  • Postman实现压力测试

    从事软件开发对于压力测试并不陌生,常见的一些压测软件有 Apache JMeter   LoadRunner   Gatling   Tsung  等,这些都是一些比较专业的测试软件,对于我的工作来说一般情况下用不到这么专业的测试,有时候需要对一些接口进行压力测试又不想再安装新软件,那么可以使用Postman来实现

    2024年01月23日
    浏览(37)
  • 使用Postman进行压力测试

    就是这个东西,这里不便展示出来,压力测试需要在文件夹里面进行  

    2024年02月03日
    浏览(54)
  • 使用Postman进行简单压力测试

    使用Postman可以对服务端接口进行简单的压力测试,步骤如下: 1.配置好一个请求接口,保存在一个collection中; 2.点击Tests,添加断言检查点; 3.点击Runner按钮,打开Collection Runner界面; 4.选择刚才添加过请求的Collection,设置测试参数; 5.点击Start Test按钮,开始测试。图中圈

    2024年02月16日
    浏览(54)
  • 使用Servlet修改水果库存系统,并使用PostMan测试Servlet请求

     pro03-fruit-optimize是我自己封装的一个jar包,功能是可以实现水果系统的增删改查 这里面的FruitDao水果数据访问对象接口,FruitDaoImpl水果数据访问对象实现类,都在pro03-fruit-optimize这个jar包里面 因为我底层也就是FruitDaoImpl写的就是通过水果名,修改水果的库存量,所以这里只能

    2024年02月06日
    浏览(39)
  • 接口测试,负载测试,并发测试,压力测试区别

    接口测试 1.定义:接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 2.目的: 更早的发现问题 缩短产品周

    2024年02月12日
    浏览(39)
  • Postman并发请求测试

    Postman 是没办法做并发请求测试的。 它的所有集合测试都是以串行的方式执行的。 postman 有的功能 Apifox 都有,主要是它能做多线程测试。 下载地址: https://www.apifox.cn/ http://127.0.0.1:8041 是在测试环境中设置的,接口路径直接写路径( /test )就行 根据自己的需要设置断言测试(

    2024年02月13日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包