-
Notifications
You must be signed in to change notification settings - Fork 1
/
locustfile.py
122 lines (112 loc) · 5.31 KB
/
locustfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
from locust import FastHttpUser, task, between
import time
# locust -H https://api.qa.lunzai.com -u 1 -r 1
def login(self):
loginData = {
'email': 'hl@whitecoat.global',
'password': 'heanluen'
}
with self.client.post("/user/auth", loginData, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['status'] + ': ' + data['message'])
return False
return data['data']
class WebsiteUser(FastHttpUser):
# task_set = UserBehavior
wait_time = between(3, 10)
token = False
user = {}
headers = {}
@task(1)
def profile(self):
with self.client.get(f"/user/{self.user['id']}", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
@task(2)
def test_group(self):
with self.client.get("/group", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
# with self.client.get("/group?name=s", headers = self.headers, catch_response = True) as response:
# data = response.json()
# if data['success'] is not True:
# response.failure(data['message'])
with self.client.get("/group?status=Active", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
with self.client.get("/group/1", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
@task(2)
def test_issue(self):
with self.client.get("/issue", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
with self.client.get("/issue?name=s", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
# with self.client.get("/issue?status=Active", headers = self.headers, catch_response = True) as response:
# data = response.json()
# if data['success'] is not True:
# response.failure(data['message'])
with self.client.get("/issue/1", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
@task(2)
def test_case(self):
with self.client.get("/test-case", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
# with self.client.get("/test-case?name=s", headers = self.headers, catch_response = True) as response:
# data = response.json()
# if data['success'] is not True:
# response.failure(data['message'])
with self.client.get("/test-case?status=Active", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
with self.client.get("/test-case/1", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
@task(2)
def test_result(self):
with self.client.get("/test-result", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
with self.client.get("/test-result?status=Active", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
with self.client.get("/test-result/1", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
@task(1)
def test_result(self):
with self.client.get("/user", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
with self.client.get("/user?status=Active", headers = self.headers, catch_response = True) as response:
data = response.json()
if data['success'] is not True:
response.failure(data['message'])
def on_start(self):
if not self.token:
response = login(self)
self.token = response['token']
self.user = response['user']
self.headers = {
'Authorization': f"Bearer {response['token']}"
}