首页 > 其他 > 详细

Locust 1.X 系列教程(2020,伴随官方升级持续更新)

时间:2020-06-12 16:47:45      阅读:274      评论:0      收藏:0      [点我收藏+]

Locust 自从1.X 版本号开始有了大量重要变更(breaking changes),目前百度前面几页的结果和教程基本上都是基于 0.14.6 之前,甚至大量基于 0.10 编写的,啃不下去是自然的。

这些重要变更包括:

  • 类的重命名,比如:locust 重命名为 user,HttpLocust 重命名为 HttpUser 等
  • 启动参数的变更,比如:-c 修改为 -u,--no-web 修改为 --headless 等
  • 多个环境变量的重命名,比如 LOCUST_MASTER 变更为 LOCUST_MODE_MASTER 等
  • 可以直接在 user 类下面直接使用 @task 进行任务规划
  • 增加了新的 装饰器 @tags 进行任务规划
  • ……

总之,如果你把 Locust 升级到 1.X 以上,那之前的脚本就必须做出一些修改。从这次的升级里面也可以感受到 Locust 越趋成熟!

Locust 目前仍然是我最推荐测试工程师学习的压测框架,下面我告诉你为什么:

  • 首先,它的脚本语言使用了Python,虽然我也不太明白为什么 python 在测试群体里面这么火,也许是主流的测试框架基本都支持 python,但是既然支持 python,那至少在我们测试的群体里面更容易流行起来,遇到坑也更容易找到解决方案。
  • 其次,locust 不像 lr、jemeter 这种压测工具通过线程对应一个用户/并发的方式产生负载,而是基于 G 协程库,这就意味着,同样配置的机器,你可以轻易创建远超 jmeter 所能创建的负载(LoadRunner 一个 Vuser 占用内存数M甚至数十MB,而 Jmeter 最高并发数受限于 JVM 大小);
  • 再其次,虽然我们日常压测的大部分场景都是针对 HTTP 接口,但是随着你对“压测”这两个字的理解加深,你会渐渐发现末端的压测只是整个压测过程的冰山一角。如果需要对 WebSocket 做压测,你要用 Jmeter 那套死板的插件吗?如果需要做消息队列中间件压测呢?如果是数据库中间件压测呢?如果是RPC协议呢?如果是直播的推拉流呢?只能等着别人出插件吗?如果这时候你用的是 Locust,那你就能自行实现啦!
  • 最后,你不觉得在 Jmeter UI界面上来来回回拖放的脚本“开发”方式十分无趣吗?某些稍微复杂的业务逻辑如果没有逻辑组件,那就得依赖代码实现,难道你还会专门去学 beanshell?

本节的最后

这个教程是持续更新吗?
对!我会伴随官方升级持续对内容做更新,包括代码 demo,放心学习吧

是什么驱动你持续更新?
如果有帮助,资助我吧!

学习过程中遇到问题,如何解决?

  • 在页面下方提问,我尽快以博文方式阐述清楚进行答复
  • 免费交流 QQ 群:1044725943(注:仅供各位交流,博主无法保证在线答疑)

Locust 1.0.3 系列教程目录大纲(2020.06):

  1. Locust 简介、工作原理
  2. Locust 开发环境(WIN)
  3. Locust 快速入门:一个简单的 用户注册、登录 脚本
  4. Locust 脚本增强:HTTP 请求
  5. Locust 脚本增强:参数化
  6. Locust 脚本增强:参数关联 jsonpath
  7. Locust 脚本增强:检查点
  8. Locust 脚本增强:Hook
  9. Locust 场景增强:
  10. Locust 结果增强:
  11. Locust 结果增强:
  12. Locust 结果增强:
  13. Locust 常见问题

Locust 1.X 系列教程(2020,伴随官方升级持续更新)

原文:https://www.cnblogs.com/huanghaopeng/p/13100305.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!