img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

备注:将master和slave机器上的jmeter.properties文件 参数server.rmi.ssl.disable均改为true

其中linux上是用以下命令:vi jmeter.properties 使用/server.rmi.ssl.disable/进行查找

方法二:手动生成秘钥和证书。执行create-rmi-keystore.bat(Windows适用)或create-rmi-keystore.sh(Linux适用) 生成server.rmi.ssl.keystore.file的key文件,然后将key文件复制到所有的负载机的bin目录下 修改jmeter.properties中

问题2:在slave上(linux系统)运行jmeter-server时,出现“An error occurred: Cannot start. localhost is a loopback address”错误
原因:Jmeter默认使用localhost作为RMI的主机名,但是localhost是一个回环地址,不能用于远程连接。

解决方法:

方法一:运行以下命令:./jmeter-server -Djava.rmi.server.hostname=192.16.*.*(本机ip)

方法二:修改jmeter-server文件

# vi jmeter-server 将jmeter-server中的RMI_HOST_DEF=-Djava.rmi.server.hostname=192.16.*.*(本机ip)

运行./jmeter-server即可

备注:Linux下后台执行,启用server:nohup ./jmeter-server -Djava.rmi.server.hostname=192.16… &

查看确定jmeter是否启动成功:ps axu | grep jmeter

问题3:远程启动slave机器时,如出现“Jmeter nested exception is:java.net.ConnectException connection timed out:connect ”错误
原因:可能是由于以下几种情况导致的:

slave上的ip与master配置文件中的ip不一致;

slave机器上有虚拟网卡,导致ip地址不正确;

防火墙或者安全软件阻止了RMI的通信。

解决方法:

查看slave上的ip与master配置文件中的ip是否一致;

如果不一致,查看slave机器上是否有虚拟网卡,将网卡关闭,在此启动Jmeter-server.bat,查看是否正确

查看防火墙是否关闭

注:centos7上关闭防火墙:  firewall-cmd --state   //查看防火墙状态

systemctl stop firewalld.service //关闭防火墙

问题4:当设置csv文件路径时,如果路径不对,无响应
原因:Jmeter在读取csv文件时,如果找不到文件,会一直等待,而不会报错。

解决方法:将csv文件以“相对路径”命名,即将csv文件直接放入bin目录下,在Jmeter路径中直接写入文件名

问题5:(Linux)默认端看1099被占用,如何关闭某个被占用端口的方法
原因:Jmeter使用RMI进行分布式测试时,需要使用1099端口作为注册端口,如果该端口被其他程序占用,就会导致无法启动jmeter-server或者无法连接slave。

解决方法:

查看当前所有tcp端口,执行命令:

netstat -ntlp

  • 查看所有1099端口使用情况,执行命令:
nestat -ntulp |grep 1099

  • 查看占用1099端口的程序pid,执行命令:
lsof -i:1099

  • kill掉该进程,执行命令:
kill -9 1109 //kill掉该进程

问题6:如果使用slave发送数据后,长时间无响应
原因:可能是由于以下几种情况导致的:

发送的数据中存在csv参数文件,但是slave机器的bin目录下没有该文件;

建立的tcp采样器中属性“TCPClient classname”处没有添加协议:org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl

解决方法:

查看发送的数据中是否存在csv参数文件,查看slave机器的bin目录下是否有该文件;

查看建立的tcp采样器中属性“TCPClient classname”处是否添加协议:org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl

问题7:如果你的JMeter返回数据是乱码
原因:可能是由于JMeter的默认编码和服务器的编码不一致,导致数据转换出错。

解决方法:在JMeter安装路径的bin目录下,打开文件jmeter.properties,把Sampleresult.default.encoding的值改为 utf-8 即可。

问题8:启动jmeter时,报错:Error occurred during initialization of VM Could not reserve enough space for object heap errorlevel=1
原因:可能是由于JMeter的默认堆内存大小不足以支持测试的负载,导致内存溢出。

解决方法:

bin目录下打开jmeter.bat文件,查找set HEAP,将set HEAP=-Xms128m -Xmx512m修改为set HEAP=-Xms512m -Xmx512m;

重新启动jmeter.bat即可

问题9:当jmeter用作数据库API测试时,如果数据库接口中参数中传递一个数组,如getApps(int nu, int appID[ ]),实际使用过程中报语法错误
原因:可能是由于JMeter的默认参数分隔符是逗号,而数组参数需要用分号分隔,导致语法错误。

解决方法:在JMeter的数据库连接配置中,将参数分隔符改为分号即可。

问题10:当jmeter在windows控制机中添加cvs文件参数化的时候,负载机没有没有文件的时候,远程启动后会执行失败。(即使cvs文件中的变量没有被引用)
原因:可能是由于JMeter在远程启动时,会先检查参数文件的存在性,如果不存在,就会报错。

解决方法:在负载机上添加相同的参数文件,或者在控制机上删除参数文件的引用。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

需要这份系统化的资料的朋友,可以戳这里获取*

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Logo

更多推荐