From 2f93a04cb28307e0031a650855f5770160545592 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Tue, 17 Oct 2017 18:54:42 +0200 Subject: [PATCH] Screenshot addition on every test. Logger changed --- .../test/e2e/OpenViduTestAppE2eTest.java | 86 ++++++++++++++++++- .../src/test/resources/logback.xml | 5 ++ .../test/resources/simplelogger.properties | 7 -- 3 files changed, 88 insertions(+), 10 deletions(-) create mode 100644 openvidu-test-e2e/src/test/resources/logback.xml delete mode 100644 openvidu-test-e2e/src/test/resources/simplelogger.properties 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 0dd90621..7ae1b250 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 @@ -21,6 +21,8 @@ import static java.lang.invoke.MethodHandles.lookup; import static org.slf4j.LoggerFactory.getLogger; import static java.lang.System.getProperty; +import static org.openqa.selenium.OutputType.BASE64; + import java.util.List; import org.junit.jupiter.api.AfterEach; @@ -35,6 +37,7 @@ import org.junit.platform.runner.JUnitPlatform; import org.junit.Assert; import org.openqa.selenium.By; import org.openqa.selenium.Keys; +import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebElement; import org.slf4j.Logger; @@ -73,7 +76,7 @@ public class OpenViduTestAppE2eTest { static void setupAll() { ChromeDriverManager.getInstance().setup(); FirefoxDriverManager.getInstance().setup(); - + String appUrl = getProperty("app.url"); if (appUrl != null) { APP_URL = appUrl; @@ -96,7 +99,7 @@ public class OpenViduTestAppE2eTest { @BeforeEach void setup() { - this.user = new ChromeUser("TestUser", 45); + this.user = new ChromeUser("TestUser", 100); user.getDriver().get(APP_URL); @@ -109,7 +112,7 @@ public class OpenViduTestAppE2eTest { user.getEventManager().startPolling(); } - + @AfterEach void dispose() { user.dispose(); @@ -119,10 +122,18 @@ public class OpenViduTestAppE2eTest { @DisplayName("One2One [Video + Audio]") void oneToOneVideoAudioSession() throws Exception { + log.info("One2One [Video + Audio]"); + user.getDriver().findElement(By.id("auto-join-checkbox")).click(); user.getDriver().findElement(By.id("one2one-btn")).click(); user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 4); + + try { + System.out.println(getBase64Screenshot(user)); + } catch (Exception e) { + e.printStackTrace(); + } Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")), true, true)); @@ -143,6 +154,8 @@ public class OpenViduTestAppE2eTest { @DisplayName("One2One [Audio]") void oneToOneAudioSession() throws Exception { + log.info("One2One [Audio]"); + user.getDriver().findElement(By.id("one2one-btn")).click(); List l1 = user.getDriver().findElements(By.className("send-video-checkbox")); @@ -160,6 +173,12 @@ public class OpenViduTestAppE2eTest { user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 4); user.getEventManager().waitUntilNumberOfEvent("streamCreated", 1); user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 4); + + try { + System.out.println(getBase64Screenshot(user)); + } catch (Exception e) { + e.printStackTrace(); + } Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")), true, false)); @@ -178,6 +197,8 @@ public class OpenViduTestAppE2eTest { @DisplayName("One2One [Video]") void oneToOneVideoSession() throws Exception { + log.info("One2One [Video]"); + user.getDriver().findElement(By.id("one2one-btn")).click(); List l1 = user.getDriver().findElements(By.className("send-audio-checkbox")); @@ -195,6 +216,12 @@ public class OpenViduTestAppE2eTest { user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 4); user.getEventManager().waitUntilNumberOfEvent("streamCreated", 1); user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 4); + + try { + System.out.println(getBase64Screenshot(user)); + } catch (Exception e) { + e.printStackTrace(); + } Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")), false, true)); @@ -213,10 +240,18 @@ public class OpenViduTestAppE2eTest { @DisplayName("One2Many [Video + Audio]") void oneToManyVideoAudioSession() throws Exception { + log.info("One2Many [Video + Audio]"); + user.getDriver().findElement(By.id("auto-join-checkbox")).click(); user.getDriver().findElement(By.id("one2many-btn")).click(); user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 4); + + try { + System.out.println(getBase64Screenshot(user)); + } catch (Exception e) { + e.printStackTrace(); + } user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")), true, true); @@ -229,6 +264,8 @@ public class OpenViduTestAppE2eTest { @DisplayName("Unique user remote subscription [Video + Audio]") void oneRemoteSubscription() throws Exception { + log.info("Unique user remote subscription [Video + Audio]"); + user.getDriver().findElement(By.id("add-user-btn")).click(); user.getDriver().findElement(By.className("subscribe-remote-check")).click(); user.getDriver().findElement(By.className("join-btn")).click(); @@ -237,6 +274,12 @@ public class OpenViduTestAppE2eTest { user.getEventManager().waitUntilNumberOfEvent("accessAllowed", 1); user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 1); user.getEventManager().waitUntilNumberOfEvent("remoteVideoPlaying", 1); + + try { + System.out.println(getBase64Screenshot(user)); + } catch (Exception e) { + e.printStackTrace(); + } Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")), true, true)); @@ -250,6 +293,8 @@ public class OpenViduTestAppE2eTest { @DisplayName("Unique user remote subscription [ScreenShare + Audio]") void oneRemoteSubscriptionScreen() throws Exception { + log.info("Unique user remote subscription [ScreenShare + Audio]"); + user.getDriver().findElement(By.id("add-user-btn")).click(); user.getDriver().findElement(By.className("screen-radio")).click(); user.getDriver().findElement(By.className("subscribe-remote-check")).click(); @@ -259,6 +304,12 @@ public class OpenViduTestAppE2eTest { user.getEventManager().waitUntilNumberOfEvent("accessAllowed", 1); user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 1); user.getEventManager().waitUntilNumberOfEvent("remoteVideoPlaying", 1); + + try { + System.out.println(getBase64Screenshot(user)); + } catch (Exception e) { + e.printStackTrace(); + } Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")), true, true)); @@ -272,6 +323,8 @@ public class OpenViduTestAppE2eTest { @DisplayName("Many2Many [Video + Audio]") void manyToManyVideoAudioSession() throws Exception { + log.info("Many2Many [Video + Audio]"); + WebElement addUser = user.getDriver().findElement(By.id("add-user-btn")); for (int i = 0; i < 4; i++) { addUser.click(); @@ -287,6 +340,12 @@ public class OpenViduTestAppE2eTest { user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 16); user.getEventManager().waitUntilNumberOfEvent("streamCreated", 6); user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 16); + + try { + System.out.println(getBase64Screenshot(user)); + } catch (Exception e) { + e.printStackTrace(); + } Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")), true, true)); @@ -312,6 +371,8 @@ public class OpenViduTestAppE2eTest { @DisplayName("Secure Test") void secureTest() throws Exception { + log.info("Secure Test"); + WebElement addUser = user.getDriver().findElement(By.id("add-user-btn")); for (int i = 0; i < 4; i++) { addUser.click(); @@ -347,6 +408,12 @@ public class OpenViduTestAppE2eTest { user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 16); user.getEventManager().waitUntilNumberOfEvent("streamCreated", 6); user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 16); + + try { + System.out.println(getBase64Screenshot(user)); + } catch (Exception e) { + e.printStackTrace(); + } Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")), true, true)); @@ -372,6 +439,8 @@ public class OpenViduTestAppE2eTest { @DisplayName("Cross-Browser test") void crossBrowserTest() throws Exception { + log.info("Cross-Browser test"); + Thread.UncaughtExceptionHandler h = new Thread.UncaughtExceptionHandler() { public void uncaughtException(Thread th, Throwable ex) { System.out.println("Uncaught exception: " + ex); @@ -415,6 +484,12 @@ public class OpenViduTestAppE2eTest { user.getDriver().findElement(By.className("join-btn")).click(); user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 2); + + try { + System.out.println(getBase64Screenshot(user)); + } catch (Exception e) { + e.printStackTrace(); + } Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")), true, true)); @@ -432,4 +507,9 @@ public class OpenViduTestAppE2eTest { } } + private String getBase64Screenshot(BrowserUser user) throws Exception { + String screenshotBase64 = ((TakesScreenshot) user.getDriver()).getScreenshotAs(BASE64); + return "data:image/png;base64," + screenshotBase64; + } + } diff --git a/openvidu-test-e2e/src/test/resources/logback.xml b/openvidu-test-e2e/src/test/resources/logback.xml new file mode 100644 index 00000000..3ba00edb --- /dev/null +++ b/openvidu-test-e2e/src/test/resources/logback.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/openvidu-test-e2e/src/test/resources/simplelogger.properties b/openvidu-test-e2e/src/test/resources/simplelogger.properties deleted file mode 100644 index 9983e130..00000000 --- a/openvidu-test-e2e/src/test/resources/simplelogger.properties +++ /dev/null @@ -1,7 +0,0 @@ -org.slf4j.simpleLogger.defaultLogLevel=DEBUG -org.slf4j.simpleLogger.logFile=System.out -org.slf4j.simpleLogger.showDateTime=true -org.slf4j.simpleLogger.dateTimeFormat=[yyyy-MM-dd HH:mm:ss:SSS] -org.slf4j.simpleLogger.showThreadName=true -org.slf4j.simpleLogger.showLogName=true -org.slf4j.simpleLogger.showShortLogName=true