12345678910111213141516171819202122232425262728293031323334353637383940 |
- package com.demo.simulations;
- import static io.gatling.javaapi.core.CoreDsl.*;
- import static io.gatling.javaapi.http.HttpDsl.*;
- import io.gatling.javaapi.core.*;
- import io.gatling.javaapi.http.*;
- public class WebSocketEchoSimulation extends Simulation {
- HttpProtocolBuilder httpProtocol = http
- .baseUrl("https://socketsbay.com"); // Required by Gatling even if unused
- ScenarioBuilder scn = scenario("WebSocket Echo Test")
- .exec(
- ws("Connect to Echo WS")
- .connect("wss://socketsbay.com/wss/v2/1/demo/")
- )
- .pause(1)
- .exec(
- ws("Send Message")
- .sendText("Hello WebSocket")
- .await(10) // 👈 await is chained here
- .on(
- ws.checkTextMessage("Check Echo")
- .check(regex(".*Hello WebSocket.*"))
- )
- )
- .pause(1)
- .exec(
- ws("Close Connection")
- .close()
- );
- {
- setUp(
- scn.injectOpen(atOnceUsers(1))
- ).protocols(httpProtocol);
- }
- }
|