精华内容
下载资源
问答
  • postman压力测试

    2019-05-05 18:57:00
    压力测试 当你需要验证你的接口的抗压能力的时候,可以点击Runner,进行压力测试 注意:压力测试只能以文件夹的方式执行多个接口,不能单独执行,如果想要测试某一个接口,就创一个文件夹,这个文件夹里...

    压力测试

     

    当你需要验证你的接口的抗压能力的时候,可以点击Runner,进行压力测试

     

    640?wx_fmt=png

     

    注意:压力测试只能以文件夹的方式执行多个接口,不能单独执行,如果想要测试某一个接口,就创一个文件夹,这个文件夹里只有一个要测试的接口。

     

    640?wx_fmt=png

     

    点击执行,并发执行了500次。每次再100毫秒内返回结果。

     

    640?wx_fmt=png

    转载于:https://www.cnblogs.com/jingdenghuakai/p/10815542.html

    展开全文
  • Postman接口&压力测试

    2019-11-12 11:46:15
    一、Postman介绍 下面是在网上随便抓了一个请求地址来做演示,把请求地址填入地址栏,此请求为GET请求。点击Send发送请求,请求结果将会在下方显示出来。每次的请求历史数据,会被记录下来,但是经常使用的请求,...

    一、Postman介绍

     

    下面是在网上随便抓了一个请求地址来做演示,把请求地址填入地址栏,此请求为GET请求。点击Send发送请求,请求结果将会在下方显示出来。每次的请求历史数据,会被记录下来,但是经常使用的请求,还是保存一下,这么每次用的时候,选择就行了,及其方便。

     

    另外,最好创建一个账号,这样数据将会永久保存下来,不至于重装了系统或者换了台电脑数据都没了的尴尬。

     

    640?wx_fmt=png

     

    保存的时候起个好听的名字

     

    640?wx_fmt=png

     

    Header会传输一些我们需要的一些通用的数据,定义好之后,每个接口几乎都是一样的。所以,把这些数据进行预置,这样就不用每新建一个请求,都要重复的添加Header了。

     

    请求的时候,会把请求状态,请求的时间,以及返回的数据大小返回回来。这样一目了然。最常见的status就是200表示成功,400表示未找到资源。500开头的基本都是服务端异常等等。我之前写了一篇很详细的状态说明,请参见“HTTP状态码大全

     

    640?wx_fmt=png

     

    640?wx_fmt=png

     

    点击params可以把url里的参数以列表的形式展现出来,方便编写

     

    640?wx_fmt=png

     

    还有一种更方便的编辑方式,点击Bulk Edit ,直接修改字符串的方式修改,而且可以复制粘贴,方便迁移到其它地方。而且这个功能在其它参数编辑的地方都适用。

     

    640?wx_fmt=png

     

     

    二、GET 和POST 的区别:

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

    1、Get请求:

     

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

    2、post请求:

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

     

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

     

    以post方式来看,几种参数发送方式:

    640?wx_fmt=png

     

    三、form-data、x-www-form-urlencoded、raw、binary的区别

     

    1、x-www-form-urlencoded

     

    当用户通过form表单提交数据的时候,例如:

     

    <form method="post"action="http://api.test.com/user" >
    
        <inputtype="text" name="name">
    
        <inputtype="text" name="age">
    
    </form>
    

     

    提交时会向服务器端发出这样的数据(已经去除部分不相关的头信息),数据如下:

     

    POST /user HTTP/1.1
    
    Content-Type:application/x-www-form-urlencoded
    
    Accept-Encoding: gzip, deflate
    
    Host: api.test.com
    
    Content-Length: 21
    
    Connection: Keep-Alive
    
    Cache-Control: no-cache
    
    name=互扯程序&age=18
    

     

    它的Content-Type是application/x-www-form-urlencoded,这表示消息内容会经过URL编码

     

    2、form-data

     

    当需要上传文件(可以上传多个文件),并且有参数同时传递的时候,选择这个选项可以上传文件。

    举个例子

     

    <form method="post"action="http://api.test.com/user/upload.do" enctype=”multipart/form-data”>
    
        <inputtype="text" name="desc">
    
        <inputtype="file" name="pic">
    
    </form>
    

     

    浏览器将会发送以下数据:

     

    POST /user/upload.do HTTP/1.1
    
    Accept-Language: zh-cn,zh;q=0.5
    
    Accept-Charset: GBK,utf-8;q=0.7,*;q=0.7
    
    Connection: keep-alive
    
    Content-Length: 60408
    
    Content-Type:multipart/form-data; boundary=ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
    
    Host: api.test.com
    

     

    我们看到Content-Type:multipart/form-data;

     

    当需要上传数据的时候,必须设置enctype=“multipart/form-data”,

     

    enctype:规定在发送到服务器之前应该如何对表单数据进行编码,他有如下的三个值:

     

    1. application/x-www-form-urlencoded。默认的编码方式。所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。

    2. multipart/form-data 。 指定传输数据为二进制类型,比如图片、mp3、文件。 不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。

    3. text/plain。纯文体的传输。空格转换为 “+” 加号,但不对特殊字符编码。

     

    其实form表单在你不写enctype属性时,也默认为其添加了enctype属性值,默认值是enctype="application/x- www-form-urlencoded",所以上面注册用户的时候虽然没写,其实默认加上了。

     

    3、raw

     

    当需要给服务端传递json,xml等数据的时候选择raw,当选择了raw的时候,header里会自动加上

    Content-Type: application/json

     

    例如:

     

    $.ajax({
    
    ‍    url:"/user/",
    
        data:JSON.stringify(user),
    
        method:"POST",
    
        contentType:"application/json",
    
        success: function(res){
    
            console.info("添加成功")
    
        }‍
    
    });
    

     

     

     

     

    640?wx_fmt=png

     

    4、binary

     

    只能上传一个文件,也不能添加参数。

     

    640?wx_fmt=png

    四、Pre-requestScript 的使用

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

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

    五、Tests使用(断言)

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

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

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

     

     常用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);

     

    压力测试

     

    当你需要验证你的接口的抗压能力的时候,可以点击Runner,进行压力测试

     

    640?wx_fmt=png

     

    注意:压力测试只能以文件夹的方式执行多个接口,不能单独执行,如果想要测试某一个接口,就创一个文件夹,这个文件夹里只有一个要测试的接口。

     

    640?wx_fmt=png

     

    点击执行,并发执行了500次。每次再100毫秒内返回结果。

     

    640?wx_fmt=png

     

    展开全文
  • Postman下载安装后 下面是在网上随便抓了一个请求地址来做演示,把请求地址填入地址栏,此请求为GET请求。点击Send发送请求,请求结果将会在下方显示出来。每次的请求历史数据,会被记录下来,但是经常使用的请求,...

    Postman下载安装后

    下面是在网上随便抓了一个请求地址来做演示,把请求地址填入地址栏,此请求为GET请求。点击Send发送请求,请求结果将会在下方显示出来。每次的请求历史数据,会被记录下来,但是经常使用的请求,还是保存一下,这么每次用的时候,选择就行了,及其方便。

     

    另外,最好创建一个账号,这样数据将会永久保存下来,不至于重装了系统或者换了台电脑数据都没了的尴尬。

     

    640?wx_fmt=png

     

    保存的时候起个好听的名字

     

    640?wx_fmt=png

     

    Header会传输一些我们需要的一些通用的数据,定义好之后,每个接口几乎都是一样的。所以,把这些数据进行预置,这样就不用每新建一个请求,都要重复的添加Header了。

     

    请求的时候,会把请求状态,请求的时间,以及返回的数据大小返回回来。这样一目了然。最常见的status就是200表示成功,400表示未找到资源。500开头的基本都是服务端异常等等。我之前写了一篇很详细的状态说明,请参见“HTTP状态码大全

     

    640?wx_fmt=png

     

    640?wx_fmt=png

     

    点击params可以把url里的参数以列表的形式展现出来,方便编写

     

    640?wx_fmt=png

     

    还有一种更方便的编辑方式,点击Bulk Edit ,直接修改字符串的方式修改,而且可以复制粘贴,方便迁移到其它地方。而且这个功能在其它参数编辑的地方都适用。

     

    640?wx_fmt=png

     

    我们来看看如何发送POST接口

     

    640?wx_fmt=png

     

    form-data、x-www-form-urlencoded、raw、binary的区别

     

    x-www-form-urlencoded

     

    当用户通过form表单提交数据的时候,例如:

     

    <form method="post"action="http://api.test.com/user" >

       <inputtype="text" name="name">

       <inputtype="text" name="age">

    </form>

     

    提交时会向服务器端发出这样的数据(已经去除部分不相关的头信息),数据如下:

     

    POST /user HTTP/1.1

    Content-Type:application/x-www-form-urlencoded

    Accept-Encoding: gzip, deflate

    Host: api.test.com

    Content-Length: 21

    Connection: Keep-Alive

    Cache-Control: no-cache

    name=互扯程序&age=18

     

    它的Content-Type是application/x-www-form-urlencoded,这表示消息内容会经过URL编码

     

    form-data

     

    当需要上传文件(可以上传多个文件),并且有参数同时传递的时候,选择这个选项可以上传文件。

    举个例子

     

    <form method="post"action="http://api.test.com/user/upload.do" enctype=”multipart/form-data”>

       <inputtype="text" name="desc">

       <inputtype="file" name="pic">

    </form>

     

    浏览器将会发送以下数据:

     

    POST /user/upload.do HTTP/1.1

    Accept-Language: zh-cn,zh;q=0.5

    Accept-Charset: GBK,utf-8;q=0.7,*;q=0.7

    Connection: keep-alive

    Content-Length: 60408

    Content-Type:multipart/form-data; boundary=ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC

    Host: api.test.com

     

    我们看到Content-Type:multipart/form-data;

     

    当需要上传数据的时候,必须设置enctype=“multipart/form-data”,

     

    enctype:规定在发送到服务器之前应该如何对表单数据进行编码,他有如下的三个值:

     

    1. application/x-www-form-urlencoded。默认的编码方式。所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。

    2. multipart/form-data 。 指定传输数据为二进制类型,比如图片、mp3、文件。 不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。

    3. text/plain。纯文体的传输。空格转换为 “+” 加号,但不对特殊字符编码。

     

    其实form表单在你不写enctype属性时,也默认为其添加了enctype属性值,默认值是enctype="application/x- www-form-urlencoded",所以上面注册用户的时候虽然没写,其实默认加上了。

     

    raw

     

    当需要给服务端传递json,xml等数据的时候选择raw,当选择了raw的时候,header里会自动加上

    Content-Type: application/json

     

    例如:

     

    $.ajax({

    ‍    url:"/user/",

       data:JSON.stringify(user),

       method:"POST",

       contentType:"application/json",

       success: function(res){

           console.info("添加成功")

       }‍

    });

     

     

     

     

    640?wx_fmt=png

     

    binary(注意了这个格式这里可以上传你的压测数据文件)

     

    PS:压测文件可以是csv格式跟json格式的

     

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

     

    postman.setEnvironmentVariable("username",data["username"]);
    postman.setEnvironmentVariable("password",data["password"]);

    然后再Tests里添加断言

    tests["Status code is 200"] = responseCode.code === 200;
    tests["Response time is less than 10000ms"] = responseTime < 10000;
    console.log(responseTime);

     

    只能上传一个文件,也不能添加参数。

     

    640?wx_fmt=png

     

    压力测试

     

    当你需要验证你的接口的抗压能力的时候,可以点击Runner,进行压力测试

     

    640?wx_fmt=png

     

    注意:压力测试只能以文件夹的方式执行多个接口,不能单独执行,如果想要测试某一个接口,就创一个文件夹,这个文件夹里只有一个要测试的接口。

     

    640?wx_fmt=png

     

    点击执行,并发执行了500次。每次再100毫秒内返回结果。

     

    640?wx_fmt=png

     

    转载于:https://www.cnblogs.com/wuyufeng-9-14/p/10655689.html

    展开全文
  • 注意:压力测试只能以文件夹的方式执行多个接口,不能单独执行,如果想要测试某一个接口,就创一个文件夹,这个文件夹里只有一个要测试的接口。 二、点击执行,并发执行100次 三、运行结果如下,可以点击run ...

    一、先点击Runner,进行压力测试

    注意:压力测试只能以文件夹的方式执行多个接口,不能单独执行,如果想要测试某一个接口,就创一个文件夹,这个文件夹里只有一个要测试的接口。

    二、点击执行,并发执行100次

    三、运行结果如下,可以点击run summary来查看summary,也可以export results成json格式

    展开全文
  • Postman请自行下载 下面是在网上随便抓了一个请求地址来做演示,把请求地址填入地址栏,此请求为GET请求。点击Send发送请求,请求结果将会在下方显示出来。每次的请求历史数据,会被记录下来,但是经常使用的请求,...
  • 1. 2. 3. 4.查看结果/导出结果 转载于:https://www.cnblogs.com/cocoxu1992/p/10900432.html
  • 使用PostMan进行参数化压测的方法: 1、新建一个普通post请求页面 2、保存当前请求页 3、进入压测界面 4、压测界面配置: 预览界面: 5、结果查看:
  • Postman请自行下载 下面是在网上随便抓了一个请求地址来做演示,把请求地址填入地址栏,此请求为GET请求。点击Send发送请求,请求结果将会在下方显示出来。每次的请求历史数据,会被记录下来,但是经常使用的请求,...
  • 今天用postman进行压力测试效果看上去还是挺不错的没有报错但是 但是请注意第61条记录,对就是这里看好了429 Too Many Requests 明显和其他的结果不同,哎奈何眼残就是没有注意到,耽误半天时间 话不多说解决方案:...
  • 用python做简单的接口压力测试

    千次阅读 2019-09-11 16:55:17
    一个多月没有更博了,最近研究了一下接口的压力测试,主要来说就是连续频繁的对接口的调用,来测试接口的响应速度、返回结果,找到接口的性能瓶颈,最大承受极限等。 做接口压力测试的方法和工具很多,比较常用的...
  • 文章目录1、SpringbootPostman测试分页的接口JMeter压力测试1、设置线程组2、设置测试 HTTP请求3、设置测试随机数4、测试结果 1、Springboot 在XshellDocker上使用命令,进入Redis [root@zj ~]# docker start redis ...
  • 关于POSTMAN做并发压测

    万次阅读 多人点赞 2019-02-13 11:14:43
    一开始我个人在做测试时用到了POSTMAN,用了两种方式做测试, 第一种: 测试发现这种方式是...百度翻了十几页,,几乎都是说能用POSTMAN做什么高并发,做什么并发压力测试,用法几乎都和第一种雷同, 是我使用...
  • 目录 一、前言 1.1、杂谈 1.2、背景 1.3、技能准备 1.4、接口准备 二、postman调试接口 2.1、环境准备 2.2、调试 ​三、Windows环境新增jmeter脚本 ...​4.4、执行测试计划 ...五、测试报告 ...5.1、报告结果展..
  • 最近工作需要对web服务接口进行压力测试,由于完全没有测试相关经验,就只能走一步看一步了 由于主要是测试接口的并发性能,因而需要一个能并发产生请求的工具,最开始想到用postman,毕竟对这玩意儿比较了解,但是结果是,...
  • 与平台中的接口测试、性能测试功能联动,自动更新关联用例的结果 记录测试用例关联的缺陷 缺陷记录支持关联到 Jira/TAPD 支持PDF格式测试报告导出 接口测试 接口定义 在线编辑接口测试内容 ...
  • Java工程师必备工具

    2019-11-28 21:40:45
    使用Jmeter对接口进行并发测试或者压力测试。一般配置一个线程组,然后配置HTTP请求,配置结果结果汇总方便查看结果。可以与jconsole结合,查看在并发请求下的JVM情况。 Jconsole 使用jcons...
  • 问题这个接口在并发的情况下是有问题,可以用jmeter测试一下(用postman压力测试了一下,没有测出并发问题。网上有的博客说postman没法测试并发) jmeter设置:100个并发 打印结果: 问题很严重呀 解决方案...
  • 在桌面端添加分布式压力测试 6.1 开发微信服务号功能 DOClever有哪些功能 1.可以对接口信息进行编辑管理,支持get,post,put,delete,patch五种方法,支持http和https协议,并且支持query,body,json,raw,rest,...
  • 并发模拟的四种方式

    千次阅读 2019-04-13 21:54:07
    Postman:Http请求模拟工具 Apache Bench(AB):Apache...JMeter:Apache组织开发的压力测试工具 安装方法看下文【参考】部分 创建线程组: 添加Http测试 添加测试结果查看监视器 代码:Semaphore、Co...
  • JMeter 报Response code: 415错误

    千次阅读 2019-09-17 14:10:45
    做接压力测试时先使用postman测试是否接口通,请求接口返回数据正常; 但是用同样的数据JMeter出现Responsecode:415,请求不通; 结果树最下面有一句是:ContentType: ;此处ContentType显示为空, 解决办法...

空空如也

空空如也

1 2
收藏数 23
精华内容 9
关键字:

postman压力测试结果