检查点简而言之是用来检查脚本是否达到事先预想的结果,因为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/
来源:oschina
链接:https://my.oschina.net/u/4369994/blog/3234487