python locust 效能測試:locust參數-保證並發測試資料唯一性,迴圈取資料

來源:互聯網
上載者:User

標籤:bug   pre   取值   順序   return   建立   str   from   cep   

from locust import TaskSet, task, HttpLocust
import queue


class UserBehavior(TaskSet):
@task
def test_register(self):
try:
# get_nowait() 取不到資料直接崩潰;get() 取不到資料會一直等待
data = self.locust.user_data_queue.get_nowait() # 取值順序 ‘username‘: ‘test0000‘、‘username‘: ‘test0001‘、‘username‘: ‘test0002‘...
except queue.Empty: # 取不到資料時,走這裡
print(‘account data run out, test ended.‘)
exit(0)
print(‘register with user: {}, pwd: {}‘.format(data[‘username‘], data[‘password‘]))
payload = {
‘username‘: data[‘username‘],
‘password‘: data[‘password‘]
}
r = self.client.post(‘/user/signin?ReturnUrl=https%3A%2F%2Fwww.cnblogs.com%2F‘, data=payload)
self.locust.user_data_queue.put_nowait(data) # 把取出來的資料重新排入佇列
assert r.status_code == 200


class WebsiteUser(HttpLocust):
host = ‘https://passport.cnblogs.com‘
task_set = UserBehavior
user_data_queue = queue.Queue() # 建立隊列,先進先出
for index in range(100):
data = {
"username": "test%04d" % index,
"password": "pwd%04d" % index,
"email": "test%[email protected]" % index,
"phone": "186%08d" % index,
}
user_data_queue.put_nowait(data) # 迴圈排入佇列<全部>,迴圈完,繼續執行
min_wait = 1000
max_wait = 3000


參考:http://debugtalk.com/post/head-first-locust-advanced-script/

python locust 效能測試:locust參數-保證並發測試資料唯一性,迴圈取資料

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.