之前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 --web
或easy-locust --web --web-port=8899
(在此处我把原生 locust 的 web-port 参数去掉了,用于 easy-locust 指定端口,默认端口是 8899)
执行之后,会默认在 easy-locust 这个工具的安装文件夹下创建并初始化 sqlite 的数据库,目的是关闭后保证这些配置不会丢失。
Generate locust-file
-- 在当前文件夹下生成名为 locust_file_by_web.py 的文件,不执行 locust
Run
-- 检查当前文件夹中有没有 locust_file_by_web.py 这个文件,有的话直接执行(可以改动里面的内容,但不能改动文件名),没有的话,生成后执行
Run in distributed-mode
-- 类似 Run,只不过是分布式压测
运行的话是使用 multiprocess.Process() 把 Locust 跑在了一个新的进程中。
先这些吧,一点一点儿完善,后续版本数据库表结构肯定会变动,由于这个原因,不能保证向前兼容性。
在做 Api 这个 tab 页的时候参考了MockServer的前端的代码,供上 star 一颗