性能测试工具 Easy-locust Web 版本

我叫GTD · 2020年05月19日 · 1831 次阅读

介绍

之前easy-locust 初版是通过 Excel 来处理生成 locustfile 的,后续扩展新的功能的话,在 excel 上也不方便,就有了做个 web 界面的想法,本想五一自己在宿舍完成,计划有变,回老家去了,就拖拖拉拉到现在才出来第一版。
Web 界面上可配置的有 config、apis、slave-nodes,这三项,相较于 Excel 版,缺少了 auth 认证这个,这个在后期规划中,考虑着做成使用者自定义 auth 函数的形式。
是个初版,还存在部分问题:在进行某项的添加、修改、删除后,不能自动刷新,需要手动刷新(在 js 中添加了 windows.location.reload() 但不生效,还需请教大神怎么解决)。
另外实现功能比较少,也是在等 locustio 推出 1.0 正式版本后,再次更新一下这个工具,我看了看 locust1.0 改动还是比较大的。
GitHub: https://github.com/GuoTengda1993/easy-locust

使用

安装:pip install easy-locust
随便找一个文件夹,进入控制台,输入easy-locust --webeasy-locust --web --web-port=8899(在此处我把原生 locust 的 web-port 参数去掉了,用于 easy-locust 指定端口,默认端口是 8899)
执行之后,会默认在 easy-locust 这个工具的安装文件夹下创建并初始化 sqlite 的数据库,目的是关闭后保证这些配置不会丢失。

  • 首页 首页
  • Config 页面 Config
  • Api 页面 Api
  • Slave-Node 页面 slave
  • Action

Generate locust-file -- 在当前文件夹下生成名为 locust_file_by_web.py 的文件,不执行 locust
Run -- 检查当前文件夹中有没有 locust_file_by_web.py 这个文件,有的话直接执行(可以改动里面的内容,但不能改动文件名),没有的话,生成后执行
Run in distributed-mode -- 类似 Run,只不过是分布式压测

运行的话是使用 multiprocess.Process() 把 Locust 跑在了一个新的进程中。

后期规划

  • locust 正式发布 1.0 版本后进行更新
  • Config 配置项中添加公共 header 的配置
  • 分布式压测支持 boomer,更新 boomer 脚本

先这些吧,一点一点儿完善,后续版本数据库表结构肯定会变动,由于这个原因,不能保证向前兼容性。

致谢

在做 Api 这个 tab 页的时候参考了MockServer的前端的代码,供上 star 一颗

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册