51Testing软件测试论坛

标题: 【你来问我来答第96期】:性能测试工具之jmeter篇!(活动结束) [打印本页]

作者: lsekfe    时间: 2018-10-8 09:56
标题: 【你来问我来答第96期】:性能测试工具之jmeter篇!(活动结束)
[attach]118781[/attach]
论坛ID:SeaBrotherTset
现任公司: 阳光信保
现任职位:高级测试工程师
讲师语录:
无论是功能测试、还是性能测试、亦或是接口测试,jmeter都有很好的支持,其基于java载体的本质以及良好的插件的扩展性,也为测试一些场景提供了无限的可能性,比如测试主流的dubbo接口、测试一个完整的java程序、测试一个SQL执行快慢,或者一个文件上传服务器的快慢,都可以用其完成。将其在进行扩展并且与其他框架相关联,且可以实现自动化等更为出人意料的测试工作,本期就与大家好好聊聊我如何使用jmeter。
讲师推荐:
《零基础入门Jmeter性能测试实战演练》  点击查看>>>
《Jmeter高阶课程》                               点击查看>>>


各位会员可以在10月10日前以回帖的方式向客座专家提问。
(请大家围绕本期客座专家的擅长领域进行提问、探讨)
客座专家将在10月11日—10月31日为大家集中解答。

机会难得,欢迎大家踊跃提问!

作者: 明晚打老虎    时间: 2018-10-9 14:42
搭建Jenkins+Maven+Jmeter自动化性能测试平台遇到的问题!?
最近老大让搞个接口的自动化测试,我昨天使用Jenkins+ant+Jmeter已经搭建完成;后来老大又让用maven进行搭建,看了网上一些教程,几乎都是同一个教程,看的云里雾里的!刚好看到这个帖子,向万能的大神求助!!

问题卡在pom.xml文件的配置;查看资料,理解的大概意思是往pom文件中引入jmeter-maven-plugin;但是自己动手配置起来总数出错,不知道哪里配置错了,还是我思路有问题,请指教!感谢老师!

蓝色是我配置的代码!
作者: 奇犽    时间: 2018-10-16 09:48
用jmeter做并发测试的时候发现,网速会影响测试结果,测试的次数(比如说前后两次)的测试结果也不一样,这种情况怎么解决?
作者: 子豪_002    时间: 2018-10-16 09:57
Jmeter使用socket插件,发送信息给服务器,服务器返回响应信息,通过结果树查看响应信息,可以确定并不是对应的返回信息,如何才能获取到服务器返回的正确信息?
作者: 马哥的小弟    时间: 2018-10-16 15:05
膜拜一下老师!!1 给服务器做并发,用jmeter,数量未100万,怎么操作?
作者: 司格特    时间: 2018-10-16 15:05
现在正在学习Jmeter发送FTP请求,教程上说要添加Spline Visualizer监听器,可是自己的Jmeter监听器中并没有这个监听器,请问大神,,这是什么原因呢?安装的jmeter版本是3.1

作者: Leo666    时间: 2018-10-17 08:05
各位大佬 我用jmeter做一个1500的并发测试 主要针对web端里的某个模块  具体怎么去操作呢?
作者: 哈哈1231    时间: 2018-10-17 10:55
明晚打老虎 发表于 2018-10-9 14:42
搭建Jenkins+Maven+Jmeter自动化性能测试平台遇到的问题!?
最近老大让搞个接口的自动化测试,我昨天使用 ...

先声明下 我就是论坛博主  SeaBrotherTset,那个账号一直不叫登录,只能换QQ啦。
你配置的地方不对。不是在pom文件中配置,是在maven的settings文件中进行配置。
作者: 哈哈1231    时间: 2018-10-17 10:59
奇犽 发表于 2018-10-16 09:48
用jmeter做并发测试的时候发现,网速会影响测试结果,测试的次数(比如说前后两次)的测试结果也不一样,这 ...

首先先要明确:进行性能测试压测的时候,首先准备环境的时候,就应该确保网络不制约性能测试,所以一般会协调机房的服务机进行压测。如果确实无法解决网络瓶颈的话,建议多压测几次,最终将平均结果作为压测结果。但是这种结果肯定也是有误差的。
作者: 哈哈1231    时间: 2018-10-17 11:02
马哥的小弟 发表于 2018-10-16 15:05
膜拜一下老师!!1 给服务器做并发,用jmeter,数量未100万,怎么操作?

这个问题是想问什么呢?实现百万级并发如何做,还是,没有理解同学的意思是什么?
作者: 哈哈1231    时间: 2018-10-17 11:02
马哥的小弟 发表于 2018-10-16 15:05
膜拜一下老师!!1 给服务器做并发,用jmeter,数量未100万,怎么操作?

这个问题是想问什么呢?实现百万级并发如何做,还是,没有理解同学的意思是什么?
作者: 哈哈1231    时间: 2018-10-17 11:02
马哥的小弟 发表于 2018-10-16 15:05
膜拜一下老师!!1 给服务器做并发,用jmeter,数量未100万,怎么操作?

这个问题是想问什么呢?实现百万级并发如何做,还是,没有理解同学的意思是什么?
作者: 哈哈1231    时间: 2018-10-17 11:03
司格特 发表于 2018-10-16 15:05
现在正在学习Jmeter发送FTP请求,教程上说要添加Spline Visualizer监听器,可是自己的Jmeter监听器中并没有 ...

换更高的版本,3.3
作者: 哈哈1231    时间: 2018-10-17 11:09
Leo666 发表于 2018-10-17 08:05
各位大佬 我用jmeter做一个1500的并发测试 主要针对web端里的某个模块  具体怎么去操作呢?

有两种解决方案:一种是直接到Web界面所在的模块开始录制,这个用Baby就能实现;做好动态关联;
                       一种是覆写Jmeter的源码,直接压测模块实现的程序。
作者: 哈哈1231    时间: 2018-10-17 11:15
子豪_002 发表于 2018-10-16 09:57
Jmeter使用socket插件,发送信息给服务器,服务器返回响应信息,通过结果树查看响应信息,可以确定并不是对 ...

加断言,看看是否有响应;
作者: 哈哈1231    时间: 2018-10-17 11:21
明晚打老虎 发表于 2018-10-9 14:42
搭建Jenkins+Maven+Jmeter自动化性能测试平台遇到的问题!?
最近老大让搞个接口的自动化测试,我昨天使用 ...

如果要放在pom.xml文件中,这末配置,别作为插件。
<dependency>
  <groupId>com.lazerycode.jmeter</groupId>
  <artifactId>jmeter-maven-plugin</artifactId>
  <version>2.8.0</version>
  <type>maven-plugin</type>
</dependency>
作者: 哈哈1231    时间: 2018-10-17 11:24
明晚打老虎 发表于 2018-10-9 14:42
搭建Jenkins+Maven+Jmeter自动化性能测试平台遇到的问题!?
最近老大让搞个接口的自动化测试,我昨天使用 ...

作为插件配置的方式是这样的:

<project>
    [...]
        <build>
            <plugins>
                <plugin>
                    <groupId>com.lazerycode.jmeter</groupId>
                    <artifactId>jmeter-maven-plugin</artifactId>
                    <version>1.9.0</version>
                    <executions>
                        <execution>
                            <id>jmeter-tests</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>jmeter</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    [...]
你那里缺少build标签
作者: 马哥的小弟    时间: 2018-10-18 09:44
哈哈1231 发表于 2018-10-17 11:02
这个问题是想问什么呢?实现百万级并发如何做,还是,没有理解同学的意思是什么?

尴尬了,对的,就是想问实现百万级并发怎么做
作者: 道客的人生    时间: 2018-10-18 09:46
之前在论坛了解到通过ant触发执行和解析jtl文件的操作,但是生成的内容没有在jmeter中显示的丰富(比如折线图等)
在ant的build文件中,还需要利用xslt文件去定制,生成一个测试数据也是比较麻烦;如果是想定制曲线绘制的工作就更加麻烦了
请问下大佬有没有好的建议
作者: 四台索米    时间: 2018-10-18 12:19
JMeter作为接口测试方案大概有以下的一些问题:

1)脚本的灵活性。虽然JMeter提供了一定的BeanShell编程能力和自定义协议的扩展能力,可以让脚本开发人员有一定的灵活性,受制于JMeter本身的限制,与开发人员直接使用语言进行接口测试相比,灵活性还是相对不足。

2)报告的能力。JMeter提供了HTML报告,但是JMeter本身的测试报告主要用于性能测试,反映的更多是性能测试层面的结果。而且配置过程比较复杂,在团队成员分享报告等方面比较麻烦。

3)持续集成。利用第三方的Jenkins插件、Ant和Maven等,能与JMeter进行一些基本的持续测试集成,但是对于完全自动化所需的测试环境的管理等功能支持不足,配置过程略嫌麻烦。

4)测试脚本和测试结果的管理:脚本和结果基本都是本地管理,无法做到在线管理。
请问嘉宾我这些理解你觉得对吗?
作者: 哈哈1231    时间: 2018-10-18 17:05
四台索米 发表于 2018-10-18 12:19
JMeter作为接口测试方案大概有以下的一些问题:

1)脚本的灵活性。虽然JMeter提供了一定的BeanShell编程 ...

您的见解很好。但是任何方案都有其利弊,实话实说:单纯拿性能测试来讲,jmeter肯定不如lr。拿他来自动化、持续集成等又略显鸡肋。但是学习一门工具本身不是重要的,重要的是你学习工具的过程中对方案、理论的感悟。
作者: 海上孤帆    时间: 2018-10-19 13:12
如何批量运行Jmeter?
现在有一批Jmeter的程序,需要批量运行,请问如何批量运行?
运行之后产生的聚合报告是怎么样的?
作者: 如龙大侠    时间: 2018-10-22 14:19
接口测试工具如何选择jmeter,fitnesse,postman,soupui,到底哪一种更好用呢?
并且可以提供自动化集成的功能。
各位有其他更合适的接口测试工具推荐么?
作者: python李    时间: 2018-10-22 15:36
场景: 本机是A ,负载服务器是B ,有内网ip  B内  和外网ip  B外,测试服务器 C,分内网ip C内和外网ip C外  ,负载服务器B和测试服务器是内网链接

请问:1、用LR, 在本机A,通过负载服务器B的外网ip ,对测试服务器C 的外网接口 发送请求,加并发,这个是内网测试还是外网测试?
          2、如果才能 通过本机A对 测试服务器进行内网压力测试?

作者: 春天的上海    时间: 2018-10-23 16:23
本帖最后由 春天的上海 于 2018-10-23 16:27 编辑

我刚接触测试没多久,今天在测试app的时候遇到一个问题。
问题如下:
自动化测试时在点击登陆时,会弹出一个toast,然后必须点击toast的旁白才能退出toast,点击toast时不可以退出toast的,但是旁白是没有xpath的,所以我应该如何编写代码退出呢?

有没有热心的小伙伴来帮助我一下呀
作者: dingXF    时间: 2018-10-24 11:08
使用Jmeter看到错误,要怎样去排查是哪里出了错误
作者: dingXF    时间: 2018-10-24 11:11
使用Jmeter做性能测试,压力测试,看到结果查看树里有错误,要怎样去排查错误。
作者: 哈哈1231    时间: 2018-10-24 12:32
马哥的小弟 发表于 2018-10-18 09:44
尴尬了,对的,就是想问实现百万级并发怎么做

百万级 我不建议用jmeter哈,还是用lr,jmeter它的应用也不是只在性能测试方面,在自动化、接口、继续集成方面的效果更佳。得益于其强大的插件扩展与源码。
作者: 哈哈1231    时间: 2018-10-24 13:40
道客的人生 发表于 2018-10-18 09:46
之前在论坛了解到通过ant触发执行和解析jtl文件的操作,但是生成的内容没有在jmeter中显示的丰富(比如折线 ...

可以去生成html的多维度报告,感兴趣可以看下:《Jmeter高阶课程
作者: 哈哈1231    时间: 2018-10-24 13:40
道客的人生 发表于 2018-10-18 09:46
之前在论坛了解到通过ant触发执行和解析jtl文件的操作,但是生成的内容没有在jmeter中显示的丰富(比如折线 ...

可以去生成html的多维度报告,感兴趣可以看下:《Jmeter高阶课程》
作者: 哈哈1231    时间: 2018-10-24 13:55
道客的人生 发表于 2018-10-18 09:46
之前在论坛了解到通过ant触发执行和解析jtl文件的操作,但是生成的内容没有在jmeter中显示的丰富(比如折线 ...

可以去生成html的多维度报告。具体方法:下载jmeter的3.3版本

2.在jtl脚本所在的位置执行如下命令
(1)cd到jmeter/bin目录下,执行如下命令:

jmeter -n -t if.jmx -l result.jtl -e -o /Jmeter/apache-jmeter-3.3/resultLog
命令参数解析:
-n :以非GUI形式运行Jmeter脚本
-t :.jmx 脚本所在的路径
-l :result.jtl 运行结果保存路径(.jtl),此文件必须不存在,如果存在,则执行
jmeter -g result.jtl -o /Jmeter/apache-jmeter-3.3/resultLog命令;
-g : result.jtl 已经存在的.jtl文件的路径。
-e :在脚本运行结束后生成其对应的html报告;
-o :用于存放html报告的路径;

作者: 857073470    时间: 2018-10-25 20:13
JMter测试jforum的时候线程组运行5次出现4次游客怎么解决
作者: 热情的绿洲    时间: 2018-10-29 15:31
关于使用 Jmeter 进行多并发测试遇到的问题?
昨天使用Jmeter对一个单接口进行了简单的测试(Http请求),测试情况如下:
我分单台机器测试和分布式2台机器测试,①单台机器设置1秒启动600个线程执行1次②分布式2台机器,每台分300个线程也是1秒启动执行1次,总数也是600(这两种情况都没设置集合点,接口都一样,其他条件也一样)
遇到的问题:单机测试情况是服务器正常返回没有任何报错;分布式测试的时候大概有5.8%的报错(报错信息是:Response code: 500和Non HTTP response code: e: java.net.SocketExceptieption),应该是服务器内部报错和请求超时一类的!
我想问的问题是:Jmeter中有没有线程请求并行,串行的概念(也是一个群友说的)?我1秒启动600个,可以理解成1ms启动0.6个,一个挨着一个启动,也就是串行;那么在进行多台分布式测试的时候,2台机器应该是同时发送请求,也就是说这个时候1ms启动的不是0.6个,应该是N个(感觉这个N应该死大于0.6的,所以服务器才会报错)。在这里也想问的数是:分布式测试中,多台机器的线程请求是怎么启动的?————————我能不能这样认为:单台机器1秒启动600个线程执行1次并不能理解成并发,而是分布式测试的时候才是真正意义上的并发。
另外,还想问下有经验的前辈们,你们在使用Jmeter测试多并发具体是怎么操作的?感谢!(我们老大的需求是:服务器支持5000并发,所以这段时间一直在学习)
作者: 爱车rav4    时间: 2018-10-29 16:06
jmeter如何实现session保持?
很多的接口都是用户登录后才可以调用,那么jmeter测试的时候如何能够实现两个操作,一个是先实现登录,然后在登录的session范围内实现调用接口。
查了一些资料有说使用 http cookie manager ,但是添加了之后貌似还是没有办法实现session的保持
作者: 凤舞飘零    时间: 2018-10-29 16:55
jmeter原本返回101的请求在回放时返回400,这样的对压测结果又影响吗?大概是什么原因造成的呢?
我们这个系统每个请求都会生成一个新的JESSIONID,不知道有没有影响?
作者: 飞儿乐队    时间: 2018-10-29 17:26
业务上需要上传图片进行识别,我用jmeter设置好代理后,上传图片时报错,获取路径指向jmeter的bin目录下了,获取不到图片,把图片放到bin目录下也是报错,获取不到,求大神指教.
作者: jgvwa    时间: 2018-10-29 19:38
哈哈,有意思。
作者: 哈哈1231    时间: 2018-11-1 13:45
道客的人生 发表于 2018-10-18 09:46
之前在论坛了解到通过ant触发执行和解析jtl文件的操作,但是生成的内容没有在jmeter中显示的丰富(比如折线 ...

jmeter可以生成多维度的Html报告,具体方法如下:
1.前提条件
(1)提前准备好一个.jmx的性能测试脚本;
(2)jmeter的版本必须在3.2版本之后才可以使用仪表盘报告(Dashboard Report);
2.执行方式
(1)cd到jmeter/bin目录下,执行如下命令:

jmeter -n -t if.jmx -l result.jtl -e -o /Jmeter/apache-jmeter-3.3/resultLog
命令参数解析:
-n :以非GUI形式运行Jmeter脚本
-t :.jmx 脚本所在的路径
-l :result.jtl 运行结果保存路径(.jtl),此文件必须不存在,如果存在,则执行
jmeter -g result.jtl -o /Jmeter/apache-jmeter-3.3/resultLog命令;
-g : result.jtl 已经存在的.jtl文件的路径。
-e :在脚本运行结束后生成其对应的html报告;
-o :用于存放html报告的路径;
作者: 哈哈1231    时间: 2018-11-1 13:48
四台索米 发表于 2018-10-18 12:19
JMeter作为接口测试方案大概有以下的一些问题:

1)脚本的灵活性。虽然JMeter提供了一定的BeanShell编程 ...

完全认同,您对jmeter的见解很到位,也向您学习~
作者: 哈哈1231    时间: 2018-11-1 13:49
四台索米 发表于 2018-10-18 12:19
JMeter作为接口测试方案大概有以下的一些问题:

1)脚本的灵活性。虽然JMeter提供了一定的BeanShell编程 ...

完全认同,您对jmeter的见解很到位,也向您学习~
作者: 哈哈1231    时间: 2018-11-1 13:49
四台索米 发表于 2018-10-18 12:19
JMeter作为接口测试方案大概有以下的一些问题:

1)脚本的灵活性。虽然JMeter提供了一定的BeanShell编程 ...

完全认同,您对jmeter的见解很到位,也向您学习~
作者: 哈哈1231    时间: 2018-11-1 13:49
四台索米 发表于 2018-10-18 12:19
JMeter作为接口测试方案大概有以下的一些问题:

1)脚本的灵活性。虽然JMeter提供了一定的BeanShell编程 ...

完全认同,您对jmeter的见解很到位,也向您学习~




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2