使用 jmeter 做性能测试

http://hushi55.github.io/2015/01/08/jmeter-perf-test

相关软件安装

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。(摘自百度百科)

jmeter 有一个好搭档,那就是 badboy。 Badboy 是一款不错的 Web 自动化测试工具,如果你将它用于非商业用途,或者用于商业用途但是安装 Badboy 的机器数量不超过 5 台,你是不需要为它支付任何费用的。也许是一种推广策略, Badboy 提供了将 Web 测试脚本直接导出生成 JMeter 脚本的功能,并且这个功能非常好用,也非常简单。

你可以下载这两个软件

jmeter 安装直接解压,我们安装 java 软件时最好不要安装的 path 有中文和空格,这样可以避免一些不必要的错误。badboy 的安装就和一般的 windows 安装一样。

测试案例

现以测试 kdtest.kdweibo.cn公网测试环境发送微博为列子,详细说明如何使用 badboy 和 jmeter。

录制脚本

安装上述软件后,打开 badboy

输入 kdtest.kdweibo.cn,进入云之家首页,点击上图中的录制按钮,开始录制脚本。

输入用户名和密码,点击登录。

输入发送的微博,点击发送,发送成功后,点击录制脚本按钮,停止录制。

点击 file 菜单,选择 Export to Jmeter 导出 Jmeter 脚本,命名为 测试发送微博.jmx(后缀自动添加)。

脚本处理

在 Jmeter 安装目录下,点击 bin/jmeter.bat 打开 jmeter

点击文件 --> 打开,刚才用badboy 录制的脚本测试发送微博.jmx

裁剪不需要测试的 url ,这次测试需要保留

其余的可以删除。

因为 登陆操作 只需要执行一次即可,添加一个逻辑控制单元:

如图所示,在 Thread group 上点击右键,添加,逻辑控制器,仅一次控制器。命名为登陆,并且将 http://kdtest.kdweibo.cn/space/c/rest/user/login 拖入其中。

修改 step 控制器名称为 发送微博,并且勾选循环次数为永远。将 登录 这个控制器移动到发送微博控制器之 ,结果如图所示:

点击选中 Thread Group 修改线程数为 100,代表同时有 100 个用户并发访问。修改 Ramp_Up Period 为 50 代表这 100 线程会在 50 秒钟启动完毕,即每秒启动 2 个线程,循环次数,代表每个线程执行采样的次数。可以勾选永远,使其不停的才采样,如图:

点击 Test Plan 修改名称为 发送微博测试 右击 添加 --> 监听器,添加聚合报告,和察看结果树,这两个报告的作用分别为,察看结构树用来监控返回的结果是否符合预期,用来判断录制的脚本是否正确。聚合报告的作用为,统计这次测试的一些数据,如最大访问时间,最小访问时间,QPS 等。

jmeter 测试脚本

完成以上工作后,可以点击运行按钮,在本地验证脚本的正确性。如下图所示。

jmeter 中的内置函数

在测试中有可能会需要使用内置函数,如: 在 3 分钟内不能发送重复微博,这就不能在发送微博的文本中硬编码,可以在发送的文本中添加一个随机数,这时可以使用 ${__uuid()} 这样就能每次发送的消息都是不会相同。避免测试时不能重复使用。关于 Jmeter 内置的函数和变量,详情可以参考文档:

http://jmeter.apache.org/usermanual/functions.html

转载于:https://my.oschina.net/u/155323/blog/375417

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值