Jmeter写脚本

1、修改jmeter查看结果树乱码问题:

在jmeter\bin目录下找到jmeter.properties文件,找到sampleresult.default.encoding这个之后在该注释行下添加如下:

sampleresult.default.encoding=utf-8

保持该文件,并重启jmeter,就可以解决jmeter返回解决乱码的问题。

2、  jmeter中发送post信息body data中包含中文信息显示乱码,解决body data中文乱码问题:

在jmeter\bin目录下找到jmeter.properties文件,找到jsyntaxtextarea.font.family=Hack这一行之后去掉#号,重启jmeter即可。

3、  在body data中显示的中文正确,但是运行之后在数据库中查看数据却是乱码,需要在请求出添加为utf-8即可。

如下例子是通过jmeter来测试 如下接口文档的内容,

接口文档:
http://doc.nnzhp.cn/
xiaohei 123456

1.  获取学生信息接口

使用jmeter 测试此接口:

1.1 首先定义一个全局变量如下:

1.2  定义参数化数据

1.3  详细定义http请求如下:‘

2 . 登录

使用 postman 来测试这个接口:

这里是为下面的关联作准备:

查看结果树的结果如下:

3. 添加学生信息

使用jmeter 测试这个接口如下:

如下是一串json字符串:

{
"name":"刘欣雨${__time(yyyyMMddHHmmss,9999)}",
"grade":"水瓶座",
"phone":1861234${__Random(1000,9999,)}
}

如下函数的操作方法如下:

最终把第4部分的数据复制出来,粘贴到 json字符串中。

最终运行结果如下:

另外还有一种时间戳${__time(,9999)}  【函数助手里面,开始值可以不写,表示时间戳】

注:时间戳:是指计算机诞生那一天到现在过了多少豪秒。它是一串数字 1526804021458豪秒,除以1000,得到单位为1526804021秒。

因为Jemter里面的时间戳的值是精确到毫秒。

4.  学生金币充值

使用jmetet 测试接口文档如下:

4.1  未使用关联表达式

增加cookie管理器:

4.2  增加cookie管理器,使用  关联表达式

其中这个 ${sign}的值来自上面第 二个 登陆 接口中的值:

5. 获取所有学生信息

使用jmeter 来测试接口:

查看结果树内容如下:

6. 上传文件接口

使用jmeter测试接口 :

6.1

小结:

1.  get请求和post请求的区别:
     get的请求是放在url里面,
     post的请求是放在body里面。

cookie 存放在本地的键值对 key - value

session 存放在服务器的键值对 key - value

  2. Jmeter中处理json

我们在做http接口测试的时候,返回的数据都是json串,Jmeter中本身是不支持直接处理json串的,如果要获取到返回结果中指定的值,必须要要通过正则表达式来获取到,正则表达式比较麻烦,写错了就获取不到值了,大家都知道json是key-value这样来存值的,那jmeter里面能不能直接通过key取值呢,这样的话就不用正则表达式那么麻烦了。
       如果想要通过key直接取值的话,jmeter官方有一个 json path extractor的插件,装上它就可以直接处理json了,通过key来取值。该插件下载地址为:http://jmeter-plugins.org/wiki/JSONPathExtractor/,下载完之后,把lib文件夹放到jmeter的目录下就ok了。
打开jmeter,这里用的jmeter是3.0版本,新建一个调用接口的http请求,然后添加后置处理器,就可以看到有json path extractor这个插件了,如下图:

那怎么使用呢,比如说刚才我调用的是获取用户信息的接口,我要获取到第一个user_id,返回的json是这样的:
 1 {
 2     "code":200,
 3     "info":[
 4         {
 5             "age": 18,
 6             "id": 7,
 7             "sex": "male",
 8             "username": "myname"
 9         },
10         {
11             "age": 23,
12             "id": 90,
13             "sex": "female",
14             "username": "yourname"
15         }
16         ]
17 }
18  

分析一下这个json串,userid在info这个列表里面存着,取第一个userid,那就要先取到info里面的值,再取info里面的第一个元素,就是用户信息,再取到userid。
json path extractor中使用$代表原来接口的返回值(代表最外层的值),取值如下图:这样就可以直接使用key来取json里面的值了,快去试试吧。

转载于:https://www.cnblogs.com/xhybk/p/9090754.html

使用jmeter测试接口相关推荐

  1. jmeter测试接口--form表单提交请求(解决请求传参为空的问题)

    jmeter测试接口--form表单提交请求(解决请求传参为空的问题) 参考文章: (1)jmeter测试接口--form表单提交请求(解决请求传参为空的问题) (2)https://www.cnbl ...

  2. jmeter聚个报告怎么看qps_jmeter测试接口qps

    1. 如何使用jmeter进行接口测试 服务端系分提供的某接口样例为: 评估后可采用使用jmeter进行压力测试的步骤为: 启动jmeter:在bin下点击jmeter.bat,运行jmeter 2. ...

  3. jmeter测试webservice接口

    webservice怎样使用jmeter测试呢? 测试样例url=http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx ...

  4. jmeter 测试websocket接口(一)

    jmeter 测试websocket接口时,需要对jmeter添加测试websocket的jar包. 下载地址: https://download.csdn.net/download/qq_14913 ...

  5. Apache JMeter 测试 HTTP接口

    一.设置基础组件 1. Apache JMeter 测试 HTTP接口流程 原则:简单的http请求而已,例如:PostMan测试一样的 1.添加一个线程组 2给线程组添加一个取样器,用来发送HTTP ...

  6. Apache JMeter 测试webservice接口

    文章目录 Apache JMeter 测试webservice接口流程 一.设置基础组件 1. 添加一个线程组 2. HTTP信息头管理器 3. HTTP请求 4. 添加一个察看结果树 5. 添加一个 ...

  7. 使用JMeter测试WebSocket接口

    因为我之前对WebSocket接口也不是很了解,所以本篇文章先简单的概括的说明一下WebSocket的相关概念.在文章的后半部分,进行测试WebSocket接口的步骤说明. 1.什么是WebSocke ...

  8. jmeter进行接口压力测试

    最近在做一个tv上的搜索接口,由于处理的时候数据都是通过Xml获取的,获取数据的速度没那么快,并且在TV上一般网速比较慢,搜索接口处理就更慢了,所以每次只能搜固定的条数,保证程序的稳定,最后就要进行压 ...

  9. 如何使用jmeter测试app端口的md5加密接口

    一. 基本介绍 jmeter是一款优秀的开源性能测试工具,目前最新版本4.0版本(jmeter4.0下载地址).jmeter可用于测试接口.数据库测试.本文主要介绍jmeter在接口方面的压力测试. ...

  10. Jmeter做接口的压力测试

    章节一压力测试课程介绍 1.2018年亿级流量压测系列之Jmeter4.0课程介绍和效果演示 简介: 讲解课程安排,使用的Jmeter版本 讲课风格:涉及的组件,操作配置多,不会一次性讲解,会先讲部分 ...

最新文章

  1. 2018年爱奇艺校招笔试
  2. adaptiveThreshold 阈值化的实现
  3. Android之对Volley网络框架的一些理解
  4. python数学知识_数学知识回顾01
  5. OpenBFDD的安装与使用
  6. Android消息处理机制(Handler、Looper、MessageQueue与Message)
  7. ellipsis省略号表示多余内容
  8. TypeScript constructor signature 类型的变量赋值方式
  9. 医动力Android基于CC组件化框架的探索与实践
  10. 0基础自学Python,有哪些避坑经验?
  11. FreeMarker 语法
  12. 2019.08.27BOM的六个子对象(1)
  13. 腾讯云大数据团队主导Apache社区新一代分布式存储系统Ozone 1.0.0发布
  14. java程序的开发工具是jdk,分享面经
  15. POJ 2142 The Balance ★ (不定方程 ax+by=c 的|x|+|y|最小解)
  16. python实践gcForest模型对鸢尾花数据集iris进行分类
  17. java captcha 验证码_java生成图片验证码的示例代码
  18. 直播聊天室源码php,某网络直播聊天室源码 财经直播聊天系统
  19. thawte代码签名证书,comodo软件签名证书,symantec签名证书,digicert微软签名证书的区别
  20. Word页面视图下不显示内容但web视图下可以显示的问题

热门文章

  1. /usr/bin/sed: No such file or directory
  2. 黑洞内部垂直向上发射光子,会怎样
  3. Floyd算法 求多源汇最短路
  4. 二建公路工程知识总结_2020二建公路实务:专题突破+高分攻略,拿分90稳过二建...
  5. mysql左连接右连接内连接的含义_MySQL-解释左连接,右连接,内连接,全连接
  6. fpga电平约束有什么作用_FPGA开发全攻略——时序约束
  7. 多个路由指向同一个页面_ASP.NET实战008:MVC路由实现详解
  8. python 波浪号用法_「波浪号」matlab中波浪号~的作用和用法 - 金橙教程网
  9. LINUX的awk和sed的常用用法 正则表达式 grep egrep用法
  10. 3PHP如何用PDO的连接方式方式导出mysql数据