Jmeter基本操做介绍
1.jmeter图形界面的中文,英文设置
(1)菜单栏---》选项--》选择语言

注意:只对当前启动的GUI图形界面有效,关闭之后就无效。(英文改成中文,不能百分之百修改成中文,有些地方可能还是会显示英文)
(2)配置文件修改langauge属性
jmeter.properties文件---》记事本打开即可-->ctr+f找到language属性直接修改或者添加一行
language=zh_CN,修改后一定要保存重启,这种语言修改才是永久的。
#Preferred GUI language. Comment out to use the JVM default locale's language.
#language=en
language=zh_CN
注意:
1.在jmeter中,所有的以.properties结尾的文件都是jmeter的属性配置文件,属性配置文件修改一定要重启才能生效。
2.以.sh结尾的文件是unix系统的启动文件
2.jmeter目录文件介绍
/bin目录: 存放启动文件,配置文件
/lib目录:存放jar包。存放jmeter工具本身的jar包,以及二次开发的jar包和第三方开发的jar包。
如果你自己以普java能力,想对jmeter源码进行二次开发,你的jar包就放在/lib下面。如果你下载第三方的jar包,就放/lib/ext下面
/extras: 在做持续集成(CI/CD)的时候会用到。build.xml和ant-jmeter-1.1.1.jar会用到
/doc:这里有二次开发的api文档,供开发人员使用。作为测试人员,需要看的是printable_doc的离线帮助文档。jmeter菜单入口-帮助-》查看的是官方最新的文档,离线帮助文档是你当前安装的版本介绍。
3.jmeter工作目录树结构介绍

测试计划:项目根目录,所有脚本的根节点,右键点击可以添加线程组
----- 线程组:用户性能测试场景设计
---------取样器:用于模拟基于不同协议的接口请求,测试不同的协议就选择对应的协议取样器;soap接口使用的协议是http(http+xml)
--------- 监听器: 查看结果树:用于查看接口response响应信息,不同的监听器只是从不同角度来显示结果。红色表示请求失败,绿色表示网络请求成功,但是接口返回结果是否正确是不知道的。
备注:
1.jmeter中,一个完整的脚本一定包括线程组,取样器,一个或多个监听器,如下图


2.取样器只作用在线程组上
3.当jmeter工具运行中突然出错了,右上角会出现红色数字(出现红色数字,说明jmeter添加的某个配置元件出错了),点击黄色三角看查看日志。

4.平时使用最多的网络协议:tcp/ip协议
5.逻辑控制器:需要进行逻辑判断时才会用到。
比如if条件控制器,循环控制器,foreach控制器,事务控制器,仅一次控制器,后续会讲到
6.前置处理器:在取样器执行之前会被执行,比如用户参数
7.后置处理器:对取样器请求结果进行处理。比如json提取器
8.断言:实际结果和预期结果进行判断
9.测试片段:功能人员用它来管理测试用例
10.配置元件:取样器发起请求所需要的元件。
配置元件的优先级高于取样器。

上图重点关注的配置元件有:csv数据文件设置,用户定义变量。
11.配置元件-HTTP信息头管理器:用来添加请求的头信息
接口请求头Content-Type,首字母要大写,但是content-type,这样写其实也不会报错。
http请求接口编写注意

上图页面编写注意:
1.服务器名称或IP:不管你填写的是域名还是IP,前后不用加斜杠/
2. 端口号:http协议中,没有写端口号,默认是80端口,tomcat默认端口是8080
3.请求的方法:get还是post,根据接口文档要求进行选择
4.路径:不要带上域名或者ip,直接填写接口路径即可
5.内容编码:utf-8
【请求】的编码有三个地方可以控制:
1. 内容编码:utf-8
2.消息头中:content-type=application/kson;charset=utf-8
3.发起get请求时,参数中勾选的编码,当参数值中有中文,数字,特殊符号如加密的密文(=),需要勾选编码(将参数值转成urlencode编码)-------->比如:
https://www.baidu.com/?wd=张三------》勾选编码后再次请求 https://www.baidu.com/s?wd=%E5%97%AF%E5%97%AF 可以看到wd如果是中文,要进行urlencode编码再请求
建议:参数值不管什么值,都勾选
6.jmeter显示响应结果中出现乱码:这是因为jmeter工具gui界面是gbk编码,服务器返回的响应编码与jmeter的gui界面编码不一致导致的。解决办法:修改jmeter.properties中的编码属性-----》 sampleresult.default.encoding=ISO-8859-1(修改成请求的接口响应编码一致即可)
7.自动重定向和跟随重定向:默认是勾选跟随重定向,当你请求的接口有refer响应码:3xx,那么一般使用跟随重定向。和自动重定向区别是:
a.跟随重定向,查看结果树中可以看到重定向的跳转过程,而且可以使用后置处理器提取响应结果。自动重定向看到跳转过程,也无法使用后置处理器提取响应结果。比如请求接口A,想提取接口A的返回结果,但是使用了自动重定向跳转到了接口B,那么就无法提取接口A的返回结果.
8.keepalive:保持长连接,HTTP/1.1版本中Connection都是keep-alive
9.消息体数据:json格式或者xml格式的数据,要放在body中
(以前测过一个接口是post请求:请求体是json格式。但是url上也有很多参数,其中一个参数的参数值是请求体中这串json数据。测试的时候,请求的url上不仅要带上这个参数和参数值,同时请求体也要填写这参数的参数值(这个参数值是json格式的)
10.消息体是json格式的,一定要加消息头管理器加上Content-Type=application/json.不写的话,默认是application/x-www-form-encoded

网友评论