mirror of https://github.com/OpenVidu/openvidu.git
Screenshot addition on every test. Logger changed
parent
6737def885
commit
2f93a04cb2
|
@ -21,6 +21,8 @@ import static java.lang.invoke.MethodHandles.lookup;
|
||||||
import static org.slf4j.LoggerFactory.getLogger;
|
import static org.slf4j.LoggerFactory.getLogger;
|
||||||
import static java.lang.System.getProperty;
|
import static java.lang.System.getProperty;
|
||||||
|
|
||||||
|
import static org.openqa.selenium.OutputType.BASE64;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.junit.jupiter.api.AfterEach;
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
@ -35,6 +37,7 @@ import org.junit.platform.runner.JUnitPlatform;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.openqa.selenium.By;
|
import org.openqa.selenium.By;
|
||||||
import org.openqa.selenium.Keys;
|
import org.openqa.selenium.Keys;
|
||||||
|
import org.openqa.selenium.TakesScreenshot;
|
||||||
import org.openqa.selenium.WebElement;
|
import org.openqa.selenium.WebElement;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
|
||||||
|
@ -73,7 +76,7 @@ public class OpenViduTestAppE2eTest {
|
||||||
static void setupAll() {
|
static void setupAll() {
|
||||||
ChromeDriverManager.getInstance().setup();
|
ChromeDriverManager.getInstance().setup();
|
||||||
FirefoxDriverManager.getInstance().setup();
|
FirefoxDriverManager.getInstance().setup();
|
||||||
|
|
||||||
String appUrl = getProperty("app.url");
|
String appUrl = getProperty("app.url");
|
||||||
if (appUrl != null) {
|
if (appUrl != null) {
|
||||||
APP_URL = appUrl;
|
APP_URL = appUrl;
|
||||||
|
@ -96,7 +99,7 @@ public class OpenViduTestAppE2eTest {
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void setup() {
|
void setup() {
|
||||||
|
|
||||||
this.user = new ChromeUser("TestUser", 45);
|
this.user = new ChromeUser("TestUser", 100);
|
||||||
|
|
||||||
user.getDriver().get(APP_URL);
|
user.getDriver().get(APP_URL);
|
||||||
|
|
||||||
|
@ -109,7 +112,7 @@ public class OpenViduTestAppE2eTest {
|
||||||
|
|
||||||
user.getEventManager().startPolling();
|
user.getEventManager().startPolling();
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterEach
|
@AfterEach
|
||||||
void dispose() {
|
void dispose() {
|
||||||
user.dispose();
|
user.dispose();
|
||||||
|
@ -119,10 +122,18 @@ public class OpenViduTestAppE2eTest {
|
||||||
@DisplayName("One2One [Video + Audio]")
|
@DisplayName("One2One [Video + Audio]")
|
||||||
void oneToOneVideoAudioSession() throws Exception {
|
void oneToOneVideoAudioSession() throws Exception {
|
||||||
|
|
||||||
|
log.info("One2One [Video + Audio]");
|
||||||
|
|
||||||
user.getDriver().findElement(By.id("auto-join-checkbox")).click();
|
user.getDriver().findElement(By.id("auto-join-checkbox")).click();
|
||||||
user.getDriver().findElement(By.id("one2one-btn")).click();
|
user.getDriver().findElement(By.id("one2one-btn")).click();
|
||||||
|
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 4);
|
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")),
|
Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")),
|
||||||
true, true));
|
true, true));
|
||||||
|
@ -143,6 +154,8 @@ public class OpenViduTestAppE2eTest {
|
||||||
@DisplayName("One2One [Audio]")
|
@DisplayName("One2One [Audio]")
|
||||||
void oneToOneAudioSession() throws Exception {
|
void oneToOneAudioSession() throws Exception {
|
||||||
|
|
||||||
|
log.info("One2One [Audio]");
|
||||||
|
|
||||||
user.getDriver().findElement(By.id("one2one-btn")).click();
|
user.getDriver().findElement(By.id("one2one-btn")).click();
|
||||||
|
|
||||||
List<WebElement> l1 = user.getDriver().findElements(By.className("send-video-checkbox"));
|
List<WebElement> l1 = user.getDriver().findElements(By.className("send-video-checkbox"));
|
||||||
|
@ -160,6 +173,12 @@ public class OpenViduTestAppE2eTest {
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 4);
|
user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 4);
|
||||||
user.getEventManager().waitUntilNumberOfEvent("streamCreated", 1);
|
user.getEventManager().waitUntilNumberOfEvent("streamCreated", 1);
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 4);
|
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")),
|
Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")),
|
||||||
true, false));
|
true, false));
|
||||||
|
@ -178,6 +197,8 @@ public class OpenViduTestAppE2eTest {
|
||||||
@DisplayName("One2One [Video]")
|
@DisplayName("One2One [Video]")
|
||||||
void oneToOneVideoSession() throws Exception {
|
void oneToOneVideoSession() throws Exception {
|
||||||
|
|
||||||
|
log.info("One2One [Video]");
|
||||||
|
|
||||||
user.getDriver().findElement(By.id("one2one-btn")).click();
|
user.getDriver().findElement(By.id("one2one-btn")).click();
|
||||||
|
|
||||||
List<WebElement> l1 = user.getDriver().findElements(By.className("send-audio-checkbox"));
|
List<WebElement> l1 = user.getDriver().findElements(By.className("send-audio-checkbox"));
|
||||||
|
@ -195,6 +216,12 @@ public class OpenViduTestAppE2eTest {
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 4);
|
user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 4);
|
||||||
user.getEventManager().waitUntilNumberOfEvent("streamCreated", 1);
|
user.getEventManager().waitUntilNumberOfEvent("streamCreated", 1);
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 4);
|
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")),
|
Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")),
|
||||||
false, true));
|
false, true));
|
||||||
|
@ -213,10 +240,18 @@ public class OpenViduTestAppE2eTest {
|
||||||
@DisplayName("One2Many [Video + Audio]")
|
@DisplayName("One2Many [Video + Audio]")
|
||||||
void oneToManyVideoAudioSession() throws Exception {
|
void oneToManyVideoAudioSession() throws Exception {
|
||||||
|
|
||||||
|
log.info("One2Many [Video + Audio]");
|
||||||
|
|
||||||
user.getDriver().findElement(By.id("auto-join-checkbox")).click();
|
user.getDriver().findElement(By.id("auto-join-checkbox")).click();
|
||||||
user.getDriver().findElement(By.id("one2many-btn")).click();
|
user.getDriver().findElement(By.id("one2many-btn")).click();
|
||||||
|
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 4);
|
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);
|
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]")
|
@DisplayName("Unique user remote subscription [Video + Audio]")
|
||||||
void oneRemoteSubscription() throws Exception {
|
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.id("add-user-btn")).click();
|
||||||
user.getDriver().findElement(By.className("subscribe-remote-check")).click();
|
user.getDriver().findElement(By.className("subscribe-remote-check")).click();
|
||||||
user.getDriver().findElement(By.className("join-btn")).click();
|
user.getDriver().findElement(By.className("join-btn")).click();
|
||||||
|
@ -237,6 +274,12 @@ public class OpenViduTestAppE2eTest {
|
||||||
user.getEventManager().waitUntilNumberOfEvent("accessAllowed", 1);
|
user.getEventManager().waitUntilNumberOfEvent("accessAllowed", 1);
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 1);
|
user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 1);
|
||||||
user.getEventManager().waitUntilNumberOfEvent("remoteVideoPlaying", 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")),
|
Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")),
|
||||||
true, true));
|
true, true));
|
||||||
|
@ -250,6 +293,8 @@ public class OpenViduTestAppE2eTest {
|
||||||
@DisplayName("Unique user remote subscription [ScreenShare + Audio]")
|
@DisplayName("Unique user remote subscription [ScreenShare + Audio]")
|
||||||
void oneRemoteSubscriptionScreen() throws Exception {
|
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.id("add-user-btn")).click();
|
||||||
user.getDriver().findElement(By.className("screen-radio")).click();
|
user.getDriver().findElement(By.className("screen-radio")).click();
|
||||||
user.getDriver().findElement(By.className("subscribe-remote-check")).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("accessAllowed", 1);
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 1);
|
user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 1);
|
||||||
user.getEventManager().waitUntilNumberOfEvent("remoteVideoPlaying", 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")),
|
Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")),
|
||||||
true, true));
|
true, true));
|
||||||
|
@ -272,6 +323,8 @@ public class OpenViduTestAppE2eTest {
|
||||||
@DisplayName("Many2Many [Video + Audio]")
|
@DisplayName("Many2Many [Video + Audio]")
|
||||||
void manyToManyVideoAudioSession() throws Exception {
|
void manyToManyVideoAudioSession() throws Exception {
|
||||||
|
|
||||||
|
log.info("Many2Many [Video + Audio]");
|
||||||
|
|
||||||
WebElement addUser = user.getDriver().findElement(By.id("add-user-btn"));
|
WebElement addUser = user.getDriver().findElement(By.id("add-user-btn"));
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
addUser.click();
|
addUser.click();
|
||||||
|
@ -287,6 +340,12 @@ public class OpenViduTestAppE2eTest {
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 16);
|
user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 16);
|
||||||
user.getEventManager().waitUntilNumberOfEvent("streamCreated", 6);
|
user.getEventManager().waitUntilNumberOfEvent("streamCreated", 6);
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 16);
|
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")),
|
Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")),
|
||||||
true, true));
|
true, true));
|
||||||
|
@ -312,6 +371,8 @@ public class OpenViduTestAppE2eTest {
|
||||||
@DisplayName("Secure Test")
|
@DisplayName("Secure Test")
|
||||||
void secureTest() throws Exception {
|
void secureTest() throws Exception {
|
||||||
|
|
||||||
|
log.info("Secure Test");
|
||||||
|
|
||||||
WebElement addUser = user.getDriver().findElement(By.id("add-user-btn"));
|
WebElement addUser = user.getDriver().findElement(By.id("add-user-btn"));
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
addUser.click();
|
addUser.click();
|
||||||
|
@ -347,6 +408,12 @@ public class OpenViduTestAppE2eTest {
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 16);
|
user.getEventManager().waitUntilNumberOfEvent("videoElementCreated", 16);
|
||||||
user.getEventManager().waitUntilNumberOfEvent("streamCreated", 6);
|
user.getEventManager().waitUntilNumberOfEvent("streamCreated", 6);
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 16);
|
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")),
|
Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")),
|
||||||
true, true));
|
true, true));
|
||||||
|
@ -372,6 +439,8 @@ public class OpenViduTestAppE2eTest {
|
||||||
@DisplayName("Cross-Browser test")
|
@DisplayName("Cross-Browser test")
|
||||||
void crossBrowserTest() throws Exception {
|
void crossBrowserTest() throws Exception {
|
||||||
|
|
||||||
|
log.info("Cross-Browser test");
|
||||||
|
|
||||||
Thread.UncaughtExceptionHandler h = new Thread.UncaughtExceptionHandler() {
|
Thread.UncaughtExceptionHandler h = new Thread.UncaughtExceptionHandler() {
|
||||||
public void uncaughtException(Thread th, Throwable ex) {
|
public void uncaughtException(Thread th, Throwable ex) {
|
||||||
System.out.println("Uncaught exception: " + ex);
|
System.out.println("Uncaught exception: " + ex);
|
||||||
|
@ -415,6 +484,12 @@ public class OpenViduTestAppE2eTest {
|
||||||
user.getDriver().findElement(By.className("join-btn")).click();
|
user.getDriver().findElement(By.className("join-btn")).click();
|
||||||
|
|
||||||
user.getEventManager().waitUntilNumberOfEvent("videoPlaying", 2);
|
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")),
|
Assert.assertTrue(user.getEventManager().assertMediaTracks(user.getDriver().findElements(By.tagName("video")),
|
||||||
true, true));
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<configuration>
|
||||||
|
<include resource="org/springframework/boot/logging/logback/base.xml" />
|
||||||
|
<logger name="io.openvidu.test.e2e" level="INFO" />
|
||||||
|
</configuration>
|
|
@ -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
|
|
Loading…
Reference in New Issue