本文内容来自“天外归云”大神,原文连接http://www.cnblogs.com/LanTianYou/p/5987741.html,目前只对启动脚本作了一些改造,应该说是,不适用powershell脚本,而使用bat批处理文件执行。之因此这么作,是考虑到powershell脚本运行权限默认没有开启,再者,开启了以后存在必定的风险。故作了这个简单的改造。html
结构目录以下:python
原来使用的是start.sp1启动脚本,用来调用start_locust.py,然后再由start_locust.py启动locust并载入用例locust_test.pyshell
原powershell脚本以下:django
如今要作的是,使用bat批处理文件实现相同功能。其实查看代码,比较简单,就是让用户传入两个参数,而后再将参数传给启动locust的脚本。知道怎么作了,就好办了,bat批处理文件脚本是经过set /p来传入参数的,那么稍微改下就行了。新建文本,重命名为start.bat。右键编辑。写入代码以下:json
其实此时功能已经实现,但算不上完美,全部再加点提示,体验就更好了。flask
好比输入为空提示,为窗口加上标题、时间,运维
@echo off :menu echo 使用说明: echo 先输入须要压测的网站host,在输入路由,即会自动打开页面、进行压力测试 :start1 title 这是一个一键压测工具,如今时间是:%time% echo 第一步,请先输入压测网站host(例如:http://www.cnblogs.com) set /p a=: if "%a%" == "" goto sorry1 echo 您输入的压测host是:%a% :start2 title 这是一个一键压测工具,如今时间是:%time% echo 第二步,而后再输入压测网站host后的路由(例如:/mikasama) set /p b=: if "%b%" == "" goto sorry2 echo 您输入的压测路由是:%b% python .\start_locust.py %a% %b% pause goto end :sorry1 echo Warnning!!!Please enter the host!(eg:http://www.cnblogs.com) goto start1 :sorry2 echo Warnning!!!Please enter the rout!(eg:/mikasama) goto start2 :end echo 不要瞎点,已经开始测试了
效果以下:工具
好了,如今能够愉快的玩耍了。注意,目前这个工具只针对单个页面进行压力测试,下一篇再讲如何将locust做为生产力工具,实现关联测试,各类场景如多用户每一个用户只执行一次、多用户使用不用参数进行测试等等。post
=====================================locust第一部分已完结================================性能
有个想法,也不知道可不可行,用django搭建一个性能测试平台,将locust整合进去。只要点点点就能够进行压力测试,不过听起来有点像是在造轮子,毕竟接口测试的工具实在太多了,好比postman、jmeter等。试想一下,好比我想测试一个接口,先不考虑验签等问题,它须要传5个参数,其中有个参数须要传大量不一样数据,如今我只须要将固定的参数填上,而那个须要大量数据的参数,它的value我点击下上传按钮,将已经准备好的csv、excel或者json,都好,上传完毕,选择压力测试运行模式(施压模式,如全部虚拟用户循环使用数据、每一个用户只能使用一个等等),点击start按钮,开始压测,并自动跳转到对应监控页面。虽然只是想一想,但感受好激动啊,一旦实现了,那作起性能测试来,太方便啦。并且还能够设计一个接口出来,用来修改脚本,定时器什么的确定要的,只要有脑洞,均可以作上去吧。
灵感来自于公司运维同窗正在作的自动化运维平台,整个运维过程,只要点点点,这种思想其实应该算是来自jenkin吧。当我发现他们正在作这个的时候,特别兴奋,也许,性能测试也能够这么整,因而有了上面的“胡思乱想”。不管如何,试试吧。记在这里,不要忘了此想法,尽快实现。
有个疑问,locust是基于flask的,那么搭这平台用django仍是flask呢?打住打住,不要想了,请先动手,谢谢。
时间:20180127