jmeter编写脚本

一、准备事项

  • 项目环境
  • 接口文档
  • http请求包括哪些部分
  • 请求行
    + 请求方法,请求地址URI
  • 请求头
    Content-Type
    cookie
    User-Agent
  • 空一行
  • 请求体
    参数: 表单
    消息体数据: json 、xml

二、写脚本

一个最简单的jmeter脚本,包括,线程组、取样器、监听器:

  1. 测试计划上右键, 添加 线程组
  2. 线程组上右键,添加 取样器> http请求 (http协议簇)
  3. 线程组上右键,添加 监听器 > 查看结果树

线程组: 性能测试中用于场景设计的,写脚本阶段不用改动
取样器: 根据不同的协议,编写不同的脚本。 填空
监听器: 调试脚本时使用,性能测试执行时禁用

不管哪种监听器,都是对结果数据进行不同维度的展示,这些展示,是需要消耗本地资源的

8080端口,是tomcat的默认端口
http协议的默认端口:80
https协议默认端口: 443
jmeter的默认保存路径,jmeter的bin文件夹

三、注意事项

jemeter中编写java脚本 jmeter如何写脚本_重定向

1. 请求头

当请求体为json, 一定要有请求头 Content-Type:application/json

2. json格式

3. 协议

协议: 当协议为http时,可以不写,如果是https,那就必须写

4. 服务器

服务器名称或IP:不能带有/

5. 路径: 不要带域名或ip,和端口

  • 路径开头,用/
  • 不要带有空格, 带有空格请求URL %20 urlencoded编码
  • URI 资源地址
  • URL: 带domain

6. 内容编码:utf8

  • 请求内容出现乱码处理方法:
  • 内容编码: utf8
  • 请求头,;charset=utf-8
  • jemeter中编写java脚本 jmeter如何写脚本_jemeter中编写java脚本_02

  • 请求体为参数类型:勾选参数“编码”
    编码:urlencoded编码;
    在参数值为 非字符(汉字、特殊符号) 都需要勾选编码;
    建议: 参数值,不管什么类型,都建议勾选编码

jemeter中编写java脚本 jmeter如何写脚本_重定向_03

  • 响应内容出现乱码处理方法:

需求修改jmeter.properties中sampler.result.encoding

不是简单的设置为utf8、 gbk、gb2312、big5,而是需要去尝试修改为以上几种,去尝试匹配被测系统的编码方式

  • 同一个接口,用postmen请求,响应是正常,用jmeter请求响应中文乱码?原因是: jmeter的编码是根据操作系统编码。

在国内,中文windows系统的字符集编码是gbk 936, mac系统中文编码utf8

7.请求体类型选择

消息体数据:当我们的请求接口文档中说,请求体为json格式,那么我们就选择用消息体数据,来写json, soap=http+xml

参数: 我们的请求体,form-data
Content-Type: application/x-www-form-urlencoded 或者不指明请求体类型,get

8、重定向

  • 自动重定向:不会显示中间重定向过程,无法从过程中,提取信息
  • 跟随重定向:会自动显示重定向过程,能从过程中,提取想要信息,用于后面接口请求
  • 使用keepAlive:保持连接, 长连接,
    因为现在用http协议版本为1.1 就是长连接,所以,默认勾选keepAlive,但是在性能测试中,我们会根据需要,去掉这个勾。