From 8b3bfc3b69896c78f7d8aba6b3ff470be32aece0 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Tue, 21 Apr 2026 19:36:18 +0200 Subject: [PATCH] openvidu-test-e2e: add connectionQualityChangedTest --- .../test/e2e/OpenViduTestAppE2eTest.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/openvidu-test-e2e/src/test/java/io/openvidu/test/e2e/OpenViduTestAppE2eTest.java b/openvidu-test-e2e/src/test/java/io/openvidu/test/e2e/OpenViduTestAppE2eTest.java index 1c8fd1b49..3778de787 100644 --- a/openvidu-test-e2e/src/test/java/io/openvidu/test/e2e/OpenViduTestAppE2eTest.java +++ b/openvidu-test-e2e/src/test/java/io/openvidu/test/e2e/OpenViduTestAppE2eTest.java @@ -352,6 +352,35 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest { gracefullyLeaveParticipants(user, 2); } + @Test + @DisplayName("ConnectionQualityChanged") + void connectionQualityChangedTest() throws Exception { + + OpenViduTestappUser user = setupBrowserAndConnectToOpenViduTestapp("chrome"); + + log.info("ConnectionQualityChanged"); + + user.getDriver().findElement(By.id("auto-join-checkbox")).click(); + user.getDriver().findElement(By.id("one2one-btn")).click(); + + user.getEventManager().waitUntilEventReaches("signalConnected", "RoomEvent", 2); + user.getEventManager().waitUntilEventReaches("connected", "RoomEvent", 2); + user.getEventManager().waitUntilEventReaches("localTrackPublished", "RoomEvent", 4); + user.getEventManager().waitUntilEventReaches("trackSubscribed", "RoomEvent", 4); + user.getEventManager().waitUntilEventReaches("connectionQualityChanged", "RoomEvent", 4); + user.getEventManager().waitUntilEventReaches("connectionQualityChanged", "ParticipantEvent", 4); + + // Expect the connection quality events to include as text content: "excellent" + user.getDriver().findElements(By.cssSelector(".connectionQualityChanged-TestParticipant0 .event-content")). + forEach(el -> Assertions.assertTrue(el.getText().contains("excellent"), + "Expected connection quality to be excellent")); + user.getDriver().findElements(By.cssSelector(".connectionQualityChanged-TestParticipant1 .event-content")). + forEach(el -> Assertions.assertTrue(el.getText().contains("excellent"), + "Expected connection quality to be excellent")); + + gracefullyLeaveParticipants(user, 2); + } + @Test @DisplayName("One2One only audio") void oneToOneOnlyAudioSession() throws Exception {