WebSocket 使用者

概觀

WebSocket user 模板對指定的 ws:// / wss:// URL 做 connect / send / recv 迴圈。底層使用 websocket-client,採 lazy import — 以 pip install je_load_density[websocket] 安裝。

Task 欄位

欄位

意義

method

connect / send / recv / sendrecv / close

request_url / url

WebSocket URL(connect 必填,其餘步驟可重用上次連線)。

name

事件名;預設為 URL 或 method。

payload

要送出的字串 / bytes。

expect

對接收到的 frame 做 substring 斷言。

timeout

接收 timeout(秒),預設 5。

範例

from je_load_density import start_test

start_test(
    user_detail_dict={"user": "websocket_user"},
    user_count=10,
    spawn_rate=5,
    test_time=60,
    tasks=[
        {"method": "connect", "request_url": "wss://echo.example.com/socket"},
        {"method": "sendrecv", "payload": '{"ping": 1}', "expect": "pong"},
        {"method": "close"},
    ],
)

每個步驟會觸發標記為 WS 的 Locust 事件,供統計彙整。