WebSocketEchoSimulation.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package com.demo.simulations;
  2. import static io.gatling.javaapi.core.CoreDsl.*;
  3. import static io.gatling.javaapi.http.HttpDsl.*;
  4. import io.gatling.javaapi.core.*;
  5. import io.gatling.javaapi.http.*;
  6. public class WebSocketEchoSimulation extends Simulation {
  7. HttpProtocolBuilder httpProtocol = http
  8. .baseUrl("https://socketsbay.com"); // Required by Gatling even if unused
  9. ScenarioBuilder scn = scenario("WebSocket Echo Test")
  10. .exec(
  11. ws("Connect to Echo WS")
  12. .connect("wss://socketsbay.com/wss/v2/1/demo/")
  13. )
  14. .pause(1)
  15. .exec(
  16. ws("Send Message")
  17. .sendText("Hello WebSocket")
  18. .await(10) // 👈 await is chained here
  19. .on(
  20. ws.checkTextMessage("Check Echo")
  21. .check(regex(".*Hello WebSocket.*"))
  22. )
  23. )
  24. .pause(1)
  25. .exec(
  26. ws("Close Connection")
  27. .close()
  28. );
  29. {
  30. setUp(
  31. scn.injectOpen(atOnceUsers(1))
  32. ).protocols(httpProtocol);
  33. }
  34. }