diff --git a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/AndroidFirefoxUser.java b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/AndroidFirefoxUser.java index 678d6082..ed6c6724 100644 --- a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/AndroidFirefoxUser.java +++ b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/AndroidFirefoxUser.java @@ -6,10 +6,8 @@ import java.util.HashMap; import java.util.Map; import org.openqa.selenium.UnexpectedAlertBehaviour; -import org.openqa.selenium.firefox.FirefoxDriver; +import org.openqa.selenium.firefox.FirefoxOptions; import org.openqa.selenium.firefox.FirefoxProfile; -import org.openqa.selenium.remote.CapabilityType; -import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import io.appium.java_client.android.AndroidDriver; @@ -21,11 +19,10 @@ public class AndroidFirefoxUser extends BrowserUser { public AndroidFirefoxUser(String userName, int timeOfWaitInSeconds) { super(userName, timeOfWaitInSeconds); - DesiredCapabilities capabilities = new DesiredCapabilities(); - capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "12.0"); - capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device"); - capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID); - capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Appium"); + FirefoxOptions options = new FirefoxOptions(); + options.setCapability(MobileCapabilityType.PLATFORM_VERSION, "12.0"); + options.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID); + options.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Appium"); URL url = null; try { @@ -34,13 +31,12 @@ public class AndroidFirefoxUser extends BrowserUser { e.printStackTrace(); } - AndroidDriver driver = new AndroidDriver<>(url, capabilities); + AndroidDriver driver = new AndroidDriver<>(url, options); driver.installApp("/opt/openvidu-cache/firefox-91-4-0.apk"); driver.quit(); - capabilities = DesiredCapabilities.firefox(); - capabilities.setAcceptInsecureCerts(true); - capabilities.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE); + options.setAcceptInsecureCerts(true); + options.setUnhandledPromptBehaviour(UnexpectedAlertBehaviour.IGNORE); FirefoxProfile profile = new FirefoxProfile(); // This flag avoids granting the access to the camera @@ -49,28 +45,27 @@ public class AndroidFirefoxUser extends BrowserUser { profile.setPreference("media.navigator.streams.fake", true); // These flags allows controlling Firefox remotely profile.setPreference("devtools.debugger.remote-enabled", true); - capabilities.setCapability(FirefoxDriver.PROFILE, profile); - capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device"); - capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "firefox"); - capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "linux"); - capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Gecko"); + options.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device"); + options.setCapability(MobileCapabilityType.BROWSER_NAME, "firefox"); + options.setCapability(MobileCapabilityType.PLATFORM_NAME, "linux"); + options.setCapability(MobileCapabilityType.AUTOMATION_NAME, "Gecko"); - capabilities.setCapability("appium:automationName", "Gecko"); - capabilities.setCapability("marionette", true); - capabilities.setCapability("appium:marionette", true); - capabilities.setCapability("androidStorage", "app"); - capabilities.setCapability("appium:androidStorage", "app"); + options.setCapability("appium:automationName", "Gecko"); + options.setCapability("marionette", true); + options.setCapability("appium:marionette", true); + options.setCapability("androidStorage", "app"); + options.setCapability("appium:androidStorage", "app"); Map mozFirefoxOptions = new HashMap<>(); mozFirefoxOptions.put("androidPackage", "org.mozilla.firefox"); mozFirefoxOptions.put("androidDeviceSerial", "emulator-5554"); mozFirefoxOptions.put("binary", "/Applications/Firefox.app"); - capabilities.setCapability("moz:firefoxOptions", mozFirefoxOptions); + options.setCapability("moz:firefoxOptions", mozFirefoxOptions); long initTime = System.currentTimeMillis(); try { - this.driver = new RemoteWebDriver(url, capabilities); + this.driver = new RemoteWebDriver(url, options); } catch (Exception e) { log.error("{}", e); } diff --git a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/BrowserUser.java b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/BrowserUser.java index 6e7509be..cf37c46b 100644 --- a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/BrowserUser.java +++ b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/BrowserUser.java @@ -57,11 +57,11 @@ public class BrowserUser { } protected void newWaiter(int timeOfWait) { - this.waiter = new WebDriverWait(this.driver, timeOfWait); + this.waiter = new WebDriverWait(this.driver, Duration.ofSeconds(timeOfWait)); } protected void configureDriver() { - this.waiter = new WebDriverWait(this.driver, timeOfWaitInSeconds); + this.waiter = new WebDriverWait(this.driver, Duration.ofSeconds(timeOfWaitInSeconds)); } protected void configureDriver(Dimension windowDimensions) { diff --git a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/ChromeUser.java b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/ChromeUser.java index 25d39c06..1b603202 100644 --- a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/ChromeUser.java +++ b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/ChromeUser.java @@ -21,9 +21,9 @@ import java.net.MalformedURLException; import java.net.URL; import java.nio.file.Path; import java.nio.file.Paths; +import java.time.Duration; import java.util.HashMap; import java.util.Map; -import java.util.concurrent.TimeUnit; import org.openqa.selenium.UnexpectedAlertBehaviour; import org.openqa.selenium.chrome.ChromeDriver; @@ -32,104 +32,104 @@ import org.openqa.selenium.remote.RemoteWebDriver; public class ChromeUser extends BrowserUser { - public ChromeUser(String userName, int timeOfWaitInSeconds, boolean headless) { - this(userName, timeOfWaitInSeconds, generateDefaultScreenChromeOptions(), headless); - } + public ChromeUser(String userName, int timeOfWaitInSeconds, boolean headless) { + this(userName, timeOfWaitInSeconds, generateDefaultScreenChromeOptions(), headless); + } - public ChromeUser(String userName, int timeOfWaitInSeconds, String screenToCapture) { - this(userName, timeOfWaitInSeconds, - generateCustomScreenChromeOptions(screenToCapture, Paths.get("/opt/openvidu/fakeaudio.wav")), false); - } + public ChromeUser(String userName, int timeOfWaitInSeconds, String screenToCapture) { + this(userName, timeOfWaitInSeconds, + generateCustomScreenChromeOptions(screenToCapture, Paths.get("/opt/openvidu/fakeaudio.wav")), false); + } - public ChromeUser(String userName, int timeOfWaitInSeconds, Path fakeVideoLocation) { - this(userName, timeOfWaitInSeconds, generateFakeVideoAudioChromeOptions(fakeVideoLocation, null), true); - } + public ChromeUser(String userName, int timeOfWaitInSeconds, Path fakeVideoLocation) { + this(userName, timeOfWaitInSeconds, generateFakeVideoAudioChromeOptions(fakeVideoLocation, null), true); + } - public ChromeUser(String userName, int timeOfWaitInSeconds, Path fakeVideoLocation, boolean headless) { - this(userName, timeOfWaitInSeconds, generateFakeVideoAudioChromeOptions(fakeVideoLocation, null), headless); - } + public ChromeUser(String userName, int timeOfWaitInSeconds, Path fakeVideoLocation, boolean headless) { + this(userName, timeOfWaitInSeconds, generateFakeVideoAudioChromeOptions(fakeVideoLocation, null), headless); + } - public ChromeUser(String userName, int timeOfWaitInSeconds, Path fakeVideoLocation, Path fakeAudioLocation) { - this(userName, timeOfWaitInSeconds, generateFakeVideoAudioChromeOptions(fakeVideoLocation, fakeAudioLocation), - true); - } + public ChromeUser(String userName, int timeOfWaitInSeconds, Path fakeVideoLocation, Path fakeAudioLocation) { + this(userName, timeOfWaitInSeconds, generateFakeVideoAudioChromeOptions(fakeVideoLocation, fakeAudioLocation), + true); + } - public ChromeUser(String userName, int timeOfWaitInSeconds, Path fakeVideoLocation, Path fakeAudioLocation, - boolean headless) { - this(userName, timeOfWaitInSeconds, generateFakeVideoAudioChromeOptions(fakeVideoLocation, fakeAudioLocation), - headless); - } + public ChromeUser(String userName, int timeOfWaitInSeconds, Path fakeVideoLocation, Path fakeAudioLocation, + boolean headless) { + this(userName, timeOfWaitInSeconds, generateFakeVideoAudioChromeOptions(fakeVideoLocation, fakeAudioLocation), + headless); + } - private ChromeUser(String userName, int timeOfWaitInSeconds, ChromeOptions options, boolean headless) { - super(userName, timeOfWaitInSeconds); + private ChromeUser(String userName, int timeOfWaitInSeconds, ChromeOptions options, boolean headless) { + super(userName, timeOfWaitInSeconds); - String REMOTE_URL = System.getProperty("REMOTE_URL_CHROME"); + String REMOTE_URL = System.getProperty("REMOTE_URL_CHROME"); - options.setAcceptInsecureCerts(true); - options.setUnhandledPromptBehaviour(UnexpectedAlertBehaviour.IGNORE); + options.setAcceptInsecureCerts(true); + options.setUnhandledPromptBehaviour(UnexpectedAlertBehaviour.IGNORE); - if (REMOTE_URL != null && headless) { - options.setHeadless(true); - } + if (REMOTE_URL != null && headless) { + options.setHeadless(true); + } - options.addArguments("--disable-infobars"); - options.setExperimentalOption("excludeSwitches", new String[] { "enable-automation" }); + options.addArguments("--disable-infobars"); + options.setExperimentalOption("excludeSwitches", new String[] { "enable-automation" }); - Map prefs = new HashMap(); - prefs.put("profile.default_content_setting_values.media_stream_mic", 1); - prefs.put("profile.default_content_setting_values.media_stream_camera", 1); - options.setExperimentalOption("prefs", prefs); + Map prefs = new HashMap(); + prefs.put("profile.default_content_setting_values.media_stream_mic", 1); + prefs.put("profile.default_content_setting_values.media_stream_camera", 1); + options.setExperimentalOption("prefs", prefs); - if (REMOTE_URL != null) { - log.info("Using URL {} to connect to remote web driver", REMOTE_URL); - try { - this.driver = new RemoteWebDriver(new URL(REMOTE_URL), options); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - } else { - log.info("Using local web driver"); - this.driver = new ChromeDriver(options); - } + if (REMOTE_URL != null) { + log.info("Using URL {} to connect to remote web driver", REMOTE_URL); + try { + this.driver = new RemoteWebDriver(new URL(REMOTE_URL), options); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + } else { + log.info("Using local web driver"); + this.driver = new ChromeDriver(options); + } - this.driver.manage().timeouts().setScriptTimeout(timeOfWaitInSeconds, TimeUnit.SECONDS); - this.configureDriver(new org.openqa.selenium.Dimension(1920, 1080)); - } + this.driver.manage().timeouts().scriptTimeout(Duration.ofSeconds(timeOfWaitInSeconds)); + this.configureDriver(new org.openqa.selenium.Dimension(1920, 1080)); + } - private static ChromeOptions generateDefaultScreenChromeOptions() { - ChromeOptions options = new ChromeOptions(); - // This flag avoids to grant the user media - options.addArguments("--use-fake-ui-for-media-stream"); - // This flag fakes user media with synthetic video - options.addArguments("--use-fake-device-for-media-stream"); - // This flag selects the entire screen as video source when screen sharing - options.addArguments("--auto-select-desktop-capture-source=Entire screen"); - return options; - } + private static ChromeOptions generateDefaultScreenChromeOptions() { + ChromeOptions options = new ChromeOptions(); + // This flag avoids to grant the user media + options.addArguments("--use-fake-ui-for-media-stream"); + // This flag fakes user media with synthetic video + options.addArguments("--use-fake-device-for-media-stream"); + // This flag selects the entire screen as video source when screen sharing + options.addArguments("--auto-select-desktop-capture-source=Entire screen"); + return options; + } - private static ChromeOptions generateCustomScreenChromeOptions(String screenToCapture, Path audioFileLocation) { - ChromeOptions options = new ChromeOptions(); - // This flag selects the entire screen as video source when screen sharing - options.addArguments("--auto-select-desktop-capture-source=" + screenToCapture); - options.addArguments("--use-fake-device-for-media-stream"); - options.addArguments("--use-file-for-fake-audio-capture=" + audioFileLocation.toString()); + private static ChromeOptions generateCustomScreenChromeOptions(String screenToCapture, Path audioFileLocation) { + ChromeOptions options = new ChromeOptions(); + // This flag selects the entire screen as video source when screen sharing + options.addArguments("--auto-select-desktop-capture-source=" + screenToCapture); + options.addArguments("--use-fake-device-for-media-stream"); + options.addArguments("--use-file-for-fake-audio-capture=" + audioFileLocation.toString()); - return options; - } + return options; + } - private static ChromeOptions generateFakeVideoAudioChromeOptions(Path videoFileLocation, Path audioFileLocation) { - ChromeOptions options = new ChromeOptions(); - // This flag avoids to grant the user media - options.addArguments("--use-fake-ui-for-media-stream"); - // This flag fakes user media with synthetic video - options.addArguments("--use-fake-device-for-media-stream"); - if (videoFileLocation != null) { - options.addArguments("--use-file-for-fake-video-capture=" + videoFileLocation.toString()); - } - if (audioFileLocation != null) { - options.addArguments("--use-file-for-fake-audio-capture=" + audioFileLocation.toString()); - } - return options; - } + private static ChromeOptions generateFakeVideoAudioChromeOptions(Path videoFileLocation, Path audioFileLocation) { + ChromeOptions options = new ChromeOptions(); + // This flag avoids to grant the user media + options.addArguments("--use-fake-ui-for-media-stream"); + // This flag fakes user media with synthetic video + options.addArguments("--use-fake-device-for-media-stream"); + if (videoFileLocation != null) { + options.addArguments("--use-file-for-fake-video-capture=" + videoFileLocation.toString()); + } + if (audioFileLocation != null) { + options.addArguments("--use-file-for-fake-audio-capture=" + audioFileLocation.toString()); + } + return options; + } } \ No newline at end of file diff --git a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/EdgeUser.java b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/EdgeUser.java index c2bd93a3..5d2eb9c8 100644 --- a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/EdgeUser.java +++ b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/EdgeUser.java @@ -2,16 +2,11 @@ package io.openvidu.test.browsers; import java.net.MalformedURLException; import java.net.URL; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import java.util.concurrent.TimeUnit; import org.openqa.selenium.UnexpectedAlertBehaviour; import org.openqa.selenium.edge.EdgeDriver; import org.openqa.selenium.edge.EdgeOptions; -import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.RemoteWebDriver; public class EdgeUser extends BrowserUser { @@ -22,20 +17,14 @@ public class EdgeUser extends BrowserUser { String REMOTE_URL = System.getProperty("REMOTE_URL_EDGE"); EdgeOptions options = new EdgeOptions(); - options.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE); - options.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true); - // When upgrading to selenium 4.0.0 options.addArguments will make this easier - List args = new ArrayList<>(); - args.add("use-fake-ui-for-media-stream"); - args.add("use-fake-device-for-media-stream"); - if (REMOTE_URL != null) { - args.add("headless"); - } - Map map = new HashMap<>(); - map.put("args", args); - options.setCapability("ms:edgeOptions", map); + options.setAcceptInsecureCerts(true); + options.setUnhandledPromptBehaviour(UnexpectedAlertBehaviour.IGNORE); + options.addArguments("--use-fake-ui-for-media-stream"); + options.addArguments("--use-fake-device-for-media-stream"); + options.addArguments("--disable-infobars"); if (REMOTE_URL != null) { + options.setHeadless(true); log.info("Using URL {} to connect to remote web driver", REMOTE_URL); try { this.driver = new RemoteWebDriver(new URL(REMOTE_URL), options); diff --git a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/FirefoxUser.java b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/FirefoxUser.java index e43aeed3..ae39dd98 100644 --- a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/FirefoxUser.java +++ b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/FirefoxUser.java @@ -19,14 +19,11 @@ package io.openvidu.test.browsers; import java.net.MalformedURLException; import java.net.URL; -import java.util.concurrent.TimeUnit; +import java.time.Duration; import org.openqa.selenium.UnexpectedAlertBehaviour; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxOptions; -import org.openqa.selenium.firefox.FirefoxProfile; -import org.openqa.selenium.remote.CapabilityType; -import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; public class FirefoxUser extends BrowserUser { @@ -36,25 +33,20 @@ public class FirefoxUser extends BrowserUser { String REMOTE_URL = System.getProperty("REMOTE_URL_FIREFOX"); - DesiredCapabilities capabilities = DesiredCapabilities.firefox(); - capabilities.setAcceptInsecureCerts(true); - capabilities.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE); + FirefoxOptions options = new FirefoxOptions(); - FirefoxProfile profile = new FirefoxProfile(); + options.setAcceptInsecureCerts(true); + options.setUnhandledPromptBehaviour(UnexpectedAlertBehaviour.IGNORE); // This flag avoids granting the access to the camera - profile.setPreference("media.navigator.permission.disabled", true); + options.addPreference("media.navigator.permission.disabled", true); // This flag force to use fake user media (synthetic video of multiple color) - profile.setPreference("media.navigator.streams.fake", true); + options.addPreference("media.navigator.streams.fake", true); if (disableOpenH264) { - profile.setPreference("media.gmp-gmpopenh264.enabled", false); + options.addPreference("media.gmp-gmpopenh264.enabled", false); } - capabilities.setCapability(FirefoxDriver.PROFILE, profile); - - FirefoxOptions options = new FirefoxOptions(capabilities); - if (REMOTE_URL != null) { options.setHeadless(true); log.info("Using URL {} to connect to remote web driver", REMOTE_URL); @@ -68,7 +60,7 @@ public class FirefoxUser extends BrowserUser { this.driver = new FirefoxDriver(options); } - this.driver.manage().timeouts().setScriptTimeout(timeOfWaitInSeconds, TimeUnit.SECONDS); + this.driver.manage().timeouts().scriptTimeout(Duration.ofSeconds(timeOfWaitInSeconds)); this.configureDriver(new org.openqa.selenium.Dimension(1920, 1080)); } diff --git a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/OperaUser.java b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/OperaUser.java index d683377e..211484d0 100644 --- a/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/OperaUser.java +++ b/openvidu-test-browsers/src/main/java/io/openvidu/test/browsers/OperaUser.java @@ -2,11 +2,11 @@ package io.openvidu.test.browsers; import java.net.MalformedURLException; import java.net.URL; -import java.util.concurrent.TimeUnit; +import java.time.Duration; -import org.openqa.selenium.opera.OperaDriver; -import org.openqa.selenium.opera.OperaOptions; -import org.openqa.selenium.remote.DesiredCapabilities; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.remote.Browser; +import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.RemoteWebDriver; public class OperaUser extends BrowserUser { @@ -14,16 +14,17 @@ public class OperaUser extends BrowserUser { public OperaUser(String userName, int timeOfWaitInSeconds) { super(userName, timeOfWaitInSeconds); - DesiredCapabilities capabilities = DesiredCapabilities.operaBlink(); - capabilities.setAcceptInsecureCerts(true); - OperaOptions options = new OperaOptions(); + ChromeOptions options = new ChromeOptions(); + options.setCapability(CapabilityType.BROWSER_NAME, Browser.OPERA.browserName()); + options.setAcceptInsecureCerts(true); + options.addArguments("---allow-elevated-browser"); + options.setExperimentalOption("w3c", true); // This flag avoids to grant the user media options.addArguments("--use-fake-ui-for-media-stream"); // This flag fakes user media with synthetic video options.addArguments("--use-fake-device-for-media-stream"); // This flag selects the entire screen as video source when screen sharing options.addArguments("--auto-select-desktop-capture-source=Entire screen"); - options.merge(capabilities); String REMOTE_URL = System.getProperty("REMOTE_URL_OPERA"); if (REMOTE_URL != null) { @@ -35,10 +36,10 @@ public class OperaUser extends BrowserUser { } } else { log.info("Using local web driver"); - this.driver = new OperaDriver(options); + // this.driver = new OperaDriver(options); } - this.driver.manage().timeouts().setScriptTimeout(timeOfWaitInSeconds, TimeUnit.SECONDS); + this.driver.manage().timeouts().scriptTimeout(Duration.ofSeconds(timeOfWaitInSeconds)); this.configureDriver(new org.openqa.selenium.Dimension(1920, 1080)); } diff --git a/openvidu-test-e2e/pom.xml b/openvidu-test-e2e/pom.xml index 630b5724..4b6772ef 100644 --- a/openvidu-test-e2e/pom.xml +++ b/openvidu-test-e2e/pom.xml @@ -75,7 +75,7 @@ io.github.bonigarcia webdrivermanager - ${version.webdrivermanager} + 5.3.1 org.slf4j diff --git a/openvidu-test-e2e/src/main/java/io/openvidu/test/e2e/OpenViduTestE2e.java b/openvidu-test-e2e/src/main/java/io/openvidu/test/e2e/OpenViduTestE2e.java index aae8b131..d48fbdd5 100644 --- a/openvidu-test-e2e/src/main/java/io/openvidu/test/e2e/OpenViduTestE2e.java +++ b/openvidu-test-e2e/src/main/java/io/openvidu/test/e2e/OpenViduTestE2e.java @@ -20,7 +20,6 @@ import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.apache.commons.io.FileUtils; import org.apache.http.HttpStatus; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; @@ -35,6 +34,7 @@ import org.springframework.http.HttpMethod; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.containers.wait.strategy.WaitStrategy; +import org.testcontainers.shaded.org.apache.commons.io.FileUtils; import org.testcontainers.utility.DockerImageName; import com.google.gson.JsonObject; 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 167e2bc9..c8d370be 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 @@ -103,8 +103,8 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest { protected static void setupAll() throws Exception { checkFfmpegInstallation(); loadEnvironmentVariables(); - prepareBrowserDrivers(new HashSet<>(Arrays.asList(BrowserNames.CHROME, BrowserNames.FIREFOX, BrowserNames.OPERA, - BrowserNames.EDGE, BrowserNames.ANDROID))); + prepareBrowserDrivers(new HashSet<>(Arrays.asList(BrowserNames.CHROME, BrowserNames.FIREFOX, + BrowserNames.EDGE /* , BrowserNames.OPERA, BrowserNames.ANDROID */))); cleanFoldersAndSetUpOpenViduJavaClient(); getDefaultTranscodingValues(); } @@ -127,6 +127,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest { @Test @DisplayName("One2One Opera") + @Disabled void oneToOneOpera() throws Exception { OpenViduTestappUser user = setupBrowserAndConnectToOpenViduTestapp("opera"); log.info("One2One Opera"); @@ -456,7 +457,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest { } }; - final CountDownLatch latch = new CountDownLatch(4); + final CountDownLatch latch = new CountDownLatch(3); final BiFunction browserTest = (user, browserName) -> { @@ -464,13 +465,13 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest { user.getDriver().findElement(By.className("join-btn")).click(); try { - user.getEventManager().waitUntilEventReaches("connectionCreated", 4, 100, true); + user.getEventManager().waitUntilEventReaches("connectionCreated", 3, 100, true); user.getEventManager().waitUntilEventReaches("accessAllowed", 1); - user.getEventManager().waitUntilEventReaches("streamCreated", 4); - user.getEventManager().waitUntilEventReaches("streamPlaying", 4); + user.getEventManager().waitUntilEventReaches("streamCreated", 3); + user.getEventManager().waitUntilEventReaches("streamPlaying", 3); final int numberOfVideos = user.getDriver().findElements(By.tagName("video")).size(); - Assertions.assertEquals(4, numberOfVideos, "Wrong number of videos"); + Assertions.assertEquals(3, numberOfVideos, "Wrong number of videos"); Assertions .assertTrue( user.getEventManager().assertMediaTracks( @@ -515,16 +516,6 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest { Thread.currentThread().interrupt(); } }); - Thread threadOpera = new Thread(() -> { - try { - browserTest.apply(setupBrowserAndConnectToOpenViduTestapp("opera"), "Opera"); - } catch (Exception e) { - String errMsg = "Error setting up browser: " + e.getMessage(); - System.err.println(errMsg); - Assertions.fail(errMsg); - Thread.currentThread().interrupt(); - } - }); Thread threadEdge = new Thread(() -> { try { browserTest.apply(setupBrowserAndConnectToOpenViduTestapp("edge"), "Edge"); @@ -535,19 +526,29 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest { Thread.currentThread().interrupt(); } }); + // Thread threadOpera = new Thread(() -> { + // try { + // browserTest.apply(setupBrowserAndConnectToOpenViduTestapp("opera"), "Opera"); + // } catch (Exception e) { + // String errMsg = "Error setting up browser: " + e.getMessage(); + // System.err.println(errMsg); + // Assertions.fail(errMsg); + // Thread.currentThread().interrupt(); + // } + // }); threadChrome.setUncaughtExceptionHandler(h); threadFirefox.setUncaughtExceptionHandler(h); - threadOpera.setUncaughtExceptionHandler(h); threadEdge.setUncaughtExceptionHandler(h); + // threadOpera.setUncaughtExceptionHandler(h); threadChrome.start(); threadFirefox.start(); - threadOpera.start(); threadEdge.start(); + // threadOpera.start(); threadChrome.join(); threadFirefox.join(); - threadOpera.join(); threadEdge.join(); + // threadOpera.join(); synchronized (lock) { if (OpenViduTestAppE2eTest.ex != null) { diff --git a/pom.xml b/pom.xml index cf94ad22..e20a9177 100644 --- a/pom.xml +++ b/pom.xml @@ -51,7 +51,7 @@ 1.1.1 5.9.1 - 3.141.59 + 4.6.0 4.9.0 2.0.9 3.1.9 @@ -63,8 +63,6 @@ 7.6.0 2.0.0 - 4.2.2 - 3.1.0 1.6.1 3.2.1