接口测试——Jmeter常见问题解决方法
一.Jmeter增加数据时无法填入中文
解决办法:修改jmeter目录下的文件
二.Python run_server.py服务启动失败
原因:python自身bug,需要修改python文件
解决办法:根据报错的最后一行进入指定目录修改代码格式
151行代码最后多了一个逗号
三.Jmeter增加数据时,无法识别json格式
原因:若不进行设置,jmeter默认上传的是text格式文件,需要对默认上传格式进行修改
基于测试计划添加一个元件,HTTP信息头管理器,添加一次,对所有请求都起作用
步骤:添加HTTP信息头管理器
添加字段名:Content-Type,字段值:application/json。
如图
四.多线程的执行顺序修改
1,JMeter默认线程组的执行方式是并行执行的。
1,先开始的,不一定先结束
2,后开始的,不一定后结束
2,(重点)修改线程组的执行方式为顺序执行。沿着树形标签栏,从上往下,依次执行。
解决方式:测试计划中,勾选,独立运行每个线程组。
五.设置请求信息默认值
六.数据库无法连接
打开服务,直接将文件拖入数据库即可
打开失败可能是文件选择错误,点击左上角添加库,在目录中添加
七.Jmeter报红
首先自己问自己如下两大问题:
一、我的项目启动了吗?
1,没有启动,到项目目录下启动
2,没有反应(没有交互的信息),重启项目
二、我的接口请求构造正确吗?
1,我想要实现什么功能?增删改查,例如是新增
2,我构造的请求,是按照新增接口的要求构造的吗?
--1,接口文档中,新增接口的四要素是什么?列出来
--2,我在Jmeter中构造的新增请求,四个要素是什么?跟接口文档中的四要素是一样的吗?
--3,一个要素一个要素的进行比较。
3,上面的新增可以替换为查询、更新、删除。
以上第一、第二两个问题可以解决一半的新手问题。
2,已发现问题:
1,数组变量引用,是不是加了下标?
2,变量名不变,那么
GET http://127.0.0.1:8000/api/departments/${dptid}/
--1,第一个请求的响应数据存在吗?
--2,数据库中的数据,本身是不是就是变量的引用形式?
3,我想干什么?我使用的这个接口,到底是怎么用的?我这么用对吗?
4,1和l
八.如何重复执行请求、定时请求,设置循环时间
步骤:点击线程组,出现如下图所示菜单
可以选择取样错误后要执行的操作
线程属性,可以设置线程执行的次数:
执行次数=线程数*用户次数
线程数可以类比为用户数
Ramp-Up时间,可以设置每个线程执行的时间间隔(每个用户)
列如:共设置时间为10s,设置线程数为5,则第五组线程在8s时执行
调度器:可以选择多长时间之后执行(启动延迟),共执行多长时间(持续时间),单位是S
一般需要勾选循环次数为永远
场景:可以设置下班之后循环重复执行,
九.415错误
415 Unsupported Media Type 是一种HTTP协议的错误状态代码,表示服务器由于不支持其有效载荷的格式,从而拒绝接受客户端的请求。. 格式问题的出现有可能源于客户端在 Content-Type 或 Content-Encoding 首部中指定的格式,也可能源于直接对负载数据进行检测的结果。
检查是否拼写错误
Content-Type application/json
十.Jmeter的bug
用户参数和CSV数据文件最好放在线程组下,涉及到循环,可能会出bug
十一.上传数据库的信息发生乱码
检查CSV文件编码格式是否正确,可以用notepad++更改编码格式
点击编码-更改格式为UTF-8,如果格式正确,会在UTF-8处显示标记黑点
十二.直连数据库
注意:执行顺序要正确,直连数据库放在http请求上面执行
配置信息:
- 从测试计划中添加驱动地址
- 在测试计划中添加配置原件JDBC Connection Configuration
在Variable Name for created pool处添加数据库名(自定义,任意起名即可)
在Database URL处添加数据库信息的地址,即sql文件路径,路径前需要填写 JDBC:数据库类型:
JDBC driver class:选择驱动类型
- 在线程组中添加JDBC request(JDBC请求)
填写Variable Name of pool declared in JDBC Connection configuration处填写数据库名称:即我们前面起的变量名
大空白处写SQL语句
下面Variable names可以添加变量名,可添加多个,根据得到的数据而定,添加一个时默认获取第一行
- http请求调用直连数据库获取的数据
调用方式${变量名_下标}:与python列表不同的地方是下标从1开始,使用时记得一定要带下标,单个数据也要带
十三.设置正则表达式提取器
设置方式:选择一个http请求,添加后置处理器-正则表达式处理器
格式设置如下
. 点代表任意一个字符
()代表要输出的数值
$4$:表示使用第四个变量
引用名称:变量名
匹配数字:表示变量是查找到的第几个
缺省值可以自己设置提示语句,用来表示默认值,勾选则默认为空
十四.正则表达式用法
- 正则表达式正常填写时引用名称代表变量名,模板代表正则表达式中的第几个变量,匹配数字表示在所提取内容中找到的第几个
- 匹配数字写-1时,查找所有变量,可以通过添加调试后置处理程序,然后运行脚本,点开提取执行的脚本的的下一个脚本,可以看到所有的变量,写其他数据时同理
十五.Xpath用法
记得勾选use Tidy
十六.CSVRead函数查不到中文信息
函数使用方法如下,直接调用按要求填写即可
使用过程中可能会出现读取不到CSV文件中数据的情况,原因是中文可能乱码,将CSV文件格式转为ANSI可解决,不可使用(使用ANSI编码)
使用时要注意,调取第一列数据需要设置列数为0
按列调用时需设置线程数为多个才能循环调取
十七.断言
常用断言有四种
同一请求可以添加多个断言,只要有一个断言不通过则不通过
响应断言(文本断言、代码断言)
大小断言(相关信息可在取样器结果查看,第五张图)
持续时间断言
十八.逻辑控制器
If逻辑控制器
循环控制器
只需要填写循环次数即可
Forecah
相当于函数嵌套,可代替函数嵌套使用
十九.生成测试报告
一、聚合报告
一种监听器,用来统计发送的请求和收到的响应
生成HTML格式的测试报告:
- dos窗口命令行方式:
0,Jmeter.bat所在路径添加到环境变量path中
- dos窗口命令行方式:
- 保证cmd在Jmeter脚本所在目录打开
- jmeter -n -t 脚本路径和名称 -l 日志文件路径和名称 -e -o 报告文件路径和目录名称
例子:jmeter -n -t 冒烟测试.jmx -l maoyanceshi.txt -e -o ./result
-n:NO GUI,以非GUI形式运行脚本
-t:指定脚本名称
-l:指定存放日志的文件名。确保每次生成都没有已存在的文件名。只支持三种格式:
- Jtl
- Txt
- 没有后缀
-e:生成html格式的报告文档
-o:指定存放报告文档的目录
/result:盘符根目录下的result文件夹(如果不存在就自动创建)。注意/前面没有点(.)。如果是./result,则表示当前目录下的result文件夹。目录不能重名。
- 文件名可以指定路径
- GUI结合dos窗口:
首先在聚合报告页面设置日志存放路径:
其次,Jmeter GUI界面运行脚本
然后,在dos命令窗口运行:
Jmeter -g maoyanceshi01.txt -o ./result01
进入 ./result01,双击index.html文件,浏览结果报告内容
观察效果:
接口测试——Jmeter常见问题解决方法相关推荐
- Android开发环境搭建及常见问题解决方法
Android开发环境搭建及常见问题解决方法 参考文章: (1)Android开发环境搭建及常见问题解决方法 (2)https://www.cnblogs.com/rwxwsblog/p/476978 ...
- DKhadoop安装配置教程与常见问题解决方法
上周分别就DKHadoop的安装准备工作以及服务器操作系统配置写了两篇分享的文章,这是个人第一次尝试写一个系统性的分享文章,必然会有很多疏漏的地方,还望见谅吧.今天分享的是DKHadoop安装以及常见 ...
- Web Deploy发布网站及常见问题解决方法(图文)
Web Deploy发布网站及常见问题解决方法(图文) Windows2008R2+IIs7.5 +Web Deploy 3.5 Web Deploy 3.5下载安装 http://www.iis.n ...
- 堡垒之夜服务器维修,堡垒之夜常见问题解决方法
本次小编给大家带来的是堡垒之夜常见问题解决方法,相信有玩家在玩堡垒之夜的时候会遇到游戏中的一些小问题?下面小编就为大家带来堡垒之夜部分常见问题解决方法汇总,一起来看看吧! 堡垒之夜常见问题解决方法 1 ...
- sqoop导入数据常见问题解决方法
sqoop导入数据常见问题解决方法 参考文章: (1)sqoop导入数据常见问题解决方法 (2)https://www.cnblogs.com/chaojibaidu/p/11071132.html ...
- Python爬虫编程常见问题解决方法
Python爬虫编程常见问题解决方法 参考文章: (1)Python爬虫编程常见问题解决方法 (2)https://www.cnblogs.com/xpwi/p/9604015.html (3)htt ...
- 使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法
使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法 参考文章: (1)使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法 (2)https: ...
- 用友t3服务器不稳定怎么处理,用友T3常见问题解决方法
用友T3常见问题解决方法 用友T3是我们会计人员常用的一款软件,下面YJBYS小编为大家整理了关于用友T3常见问题解决方法,希望对你有所帮助. 用友T3核销制单出现赤字金额怎么办? 有些客户反应,用友 ...
- jump大乱斗维护服务器,Jump大乱斗常见问题解决方法_Jump大乱斗常见问题解决及按键设置方法_飞翔教程...
Jump大乱斗常见问题解决方法分享,本作是一款经典漫画人物乱斗游戏,一些玩家进游戏遇到的各种问题,接下来52z飞翔下载小编给大家带来Jump大乱斗常见问题及按键设置方法. 进入游戏可能碰到的问题 点确 ...
最新文章
- 其他发行版本安装深度音乐播放器
- 7.unity插件T4M使用
- eui加载时间长_游戏加载时间越来越短了?背后藏着这些小心机
- Lucene:QueryParser
- 用python爬虫爬取无水印图片_使用python 爬虫,爬取图片
- python面试题_01
- 客户端连接openfire报错解决
- mysql安装 linux rpm_linux MySQL5.7 rpm安装
- 利用ajax如何根据权限加载目录,AJAX调用框架,包含权限验证
- 仿美团外卖源码加自己做了个模拟数据加载的效果
- java实现上传寸照并剪裁,给寸照换背景_用java处置图片(jpg,png,gif.)的背景颜色
- 【以太网交换安全】---端口安全及MAC地址飘移防止与检测
- python|教你用代码画“社会人”
- 视频语音转换成文字要怎么操作呢?
- Siggraph三角网格变形之拉普拉斯变换
- stunserver 的几个公网地址及其问题
- java解析宏文件,从命令行或批处理文件运行Excel宏的方法?
- 关于SVN 操作 提示文件已过时,请先update
- 购买条码打印机如何选择才能更适合
- 抓拍机基线接口及C程序
热门文章
- Spring的ID增长器使用示例(MySql数据库)
- cairo在Gecko上实现的路线图
- linux 下挂载光驱
- oracle 11i 供应商api,Oracle EBS AP 供应商API
- html标签属性值拼接,js拼接url以及为html某标签属性赋值
- Python爬虫都被你用来爬妹子图了,我等羞愧与之为伍!
- 安装了mySQL后怎么导入数据_mysql安装、配置、导入数据库
- Linux中如何调整pe的大小,关于LVM PE大小影响VG容量
- 获取会话的连接和断开事件
- 又见The request sent by the client was syntactically incorrect ()