Easy-locust Web 版本

我叫GTD發表於2020-05-19

介紹

之前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一顆

相關文章