Locust设置集合点
Locust实现“检查点”功能
检查点简而言之是用来检查脚本是否达到事先预想的结果,因为Locust判断请求是否成功只是通过请求响应的状态码是否为200或2xx来进行,缺乏可靠性。因此,有时请求返回的是200,但是却并未是测试想要的结果。所以需要使用检查点来检查请求返回的数据是否正确,增加脚本的可靠性和说服力。
要获取到请求返回的数据信息,可以使用正则表达式来获取页面中想要的内容,如果是对http接口的压测,可以直接获取到接口的返回信息进行检验。可根据实际需要选择哪种方式校验脚本是否运行成功。
下面以注册业务的压测脚本为例:
1 #任务集 用户行为脚本 2 class Userbehavior(TaskSet): 3 4 @task(1) # 权重小 5 def SignUp(self): 6 data = { 7 'username': 'cc', 8 'password': '123456', 9 'passwordConfirm': '123456', 10 'firstName': '', 11 'lastName': '', 12 'address1': '', 13 'address2': '', 14 'register.x': '33', 15 'register.y': '9' 16 } 17 response = self.client.post('/WebTours/login.pl', data=data, name='用户注册', catch_response=True) 18 #断言 19 if "welcome to the Web Tours family" in response.text: 20 response.success() 21 else: 22 response.failure("注册失败") 23 print(response.text) 24 25 #测试场景设置 26 class WebSite(HttpLocust): 27 task_set = Userbehavior #指定任务集 28 min_wait = 2000 #最小等待时间 毫秒 29 max_wait = 5000 #最大等待时间 毫秒 30 stop_timeout = 60 #单位秒,运行时间 31 host = 'http://127.0.0.1:1080' #服务器域名
执行方式: 1)保存上述代码到 SignUp.py 2)Win + R 输入 cmd 打开命令行 3)通过 cd 进入到文件目录 4)输入 locust -f SignUp.py 运行
5)打开网页,输入网址:http://localhost:8089/