mirror of https://github.com/OpenVidu/openvidu.git
Fix openvidu-testapp backdrop click and RTSP ingress tests
parent
2a16c3642e
commit
aec97450d5
|
|
@ -69,7 +69,7 @@ public class OpenViduTestE2e {
|
||||||
put("VP8", Triple.of("libvpx", "", "VP8"));
|
put("VP8", Triple.of("libvpx", "", "VP8"));
|
||||||
put("VP9", Triple.of("libvpx-vp9", "", "VP9"));
|
put("VP9", Triple.of("libvpx-vp9", "", "VP9"));
|
||||||
put("MPEG-4", Triple.of("mpeg4", "", "MPEG-4"));
|
put("MPEG-4", Triple.of("mpeg4", "", "MPEG-4"));
|
||||||
put("M-JPEG", Triple.of("mjpeg", "-force_duplicated_matrix:v 1 -huffman:v 0", "MJPEG"));
|
put("M-JPEG", Triple.of("mjpeg", "-force_duplicated_matrix:v 1 -huffman:v 0", "M-JPEG"));
|
||||||
// put("AV1", Triple.of("libaom-av1", "", "AV1")); // NOT SUPPORTED BY THE RTSP SERVER
|
// put("AV1", Triple.of("libaom-av1", "", "AV1")); // NOT SUPPORTED BY THE RTSP SERVER
|
||||||
// (maybe gstreamer?)
|
// (maybe gstreamer?)
|
||||||
// put("H265", Triple.of("libx265", "", "H265")); // NOT SUPPORTED BY INGRESS
|
// put("H265", Triple.of("libx265", "", "H265")); // NOT SUPPORTED BY INGRESS
|
||||||
|
|
|
||||||
|
|
@ -649,8 +649,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
Thread.sleep(300);
|
Thread.sleep(300);
|
||||||
user.getDriver().findElement(By.id("trackPublish-backupCodec")).click();
|
user.getDriver().findElement(By.id("trackPublish-backupCodec")).click();
|
||||||
user.getDriver().findElement(By.id("trackPublish-videoCodec")).click();
|
user.getDriver().findElement(By.id("trackPublish-videoCodec")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "#mat-option-" + codec.toLowerCase());
|
||||||
user.getDriver().findElement(By.id("mat-option-" + codec.toLowerCase())).click();
|
|
||||||
this.waitForBackdropAndClick(user, "#close-dialog-btn");
|
this.waitForBackdropAndClick(user, "#close-dialog-btn");
|
||||||
Thread.sleep(300);
|
Thread.sleep(300);
|
||||||
|
|
||||||
|
|
@ -750,9 +749,8 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
Thread.sleep(300);
|
Thread.sleep(300);
|
||||||
chromeUser.getDriver().findElement(By.id("trackPublish-backupCodec")).click();
|
chromeUser.getDriver().findElement(By.id("trackPublish-backupCodec")).click();
|
||||||
chromeUser.getDriver().findElement(By.id("trackPublish-videoCodec")).click();
|
chromeUser.getDriver().findElement(By.id("trackPublish-videoCodec")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(chromeUser, "#mat-option-" + codec.toLowerCase());
|
||||||
chromeUser.getDriver().findElement(By.id("mat-option-" + codec.toLowerCase())).click();
|
this.waitForBackdropAndClick(chromeUser, "#close-dialog-btn");
|
||||||
chromeUser.getDriver().findElement(By.id("close-dialog-btn")).click();
|
|
||||||
Thread.sleep(300);
|
Thread.sleep(300);
|
||||||
chromeUser.getDriver().findElement(By.className("connect-btn")).click();
|
chromeUser.getDriver().findElement(By.className("connect-btn")).click();
|
||||||
chromeUser.getEventManager().waitUntilEventReaches("localTrackSubscribed", "ParticipantEvent", 1);
|
chromeUser.getEventManager().waitUntilEventReaches("localTrackSubscribed", "ParticipantEvent", 1);
|
||||||
|
|
@ -963,13 +961,11 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
|
|
||||||
// Manually change video quality of first subscriber to q
|
// Manually change video quality of first subscriber to q
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-LOW");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-LOW")).click();
|
|
||||||
|
|
||||||
// Manually change video quality of second subscriber to f
|
// Manually change video quality of second subscriber to f
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-2 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-2 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-HIGH");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-HIGH")).click();
|
|
||||||
|
|
||||||
subscriberVideo1 = user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 video.remote"));
|
subscriberVideo1 = user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 video.remote"));
|
||||||
WebElement subscriberVideo2 = user.getDriver().findElement(By.cssSelector("#openvidu-instance-2 video.remote"));
|
WebElement subscriberVideo2 = user.getDriver().findElement(By.cssSelector("#openvidu-instance-2 video.remote"));
|
||||||
|
|
@ -996,8 +992,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
|
|
||||||
// Manually change video quality of second subscriber to h
|
// Manually change video quality of second subscriber to h
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-2 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-2 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-MEDIUM");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-MEDIUM")).click();
|
|
||||||
|
|
||||||
this.waitUntilPublisherLayerActive(user, publisherVideo, "q", true);
|
this.waitUntilPublisherLayerActive(user, publisherVideo, "q", true);
|
||||||
this.waitUntilPublisherLayerActive(user, publisherVideo, "h", true);
|
this.waitUntilPublisherLayerActive(user, publisherVideo, "h", true);
|
||||||
|
|
@ -1159,20 +1154,17 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
|
|
||||||
// Manually change video quality of subscriber to h
|
// Manually change video quality of subscriber to h
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-MEDIUM");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-MEDIUM")).click();
|
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, h);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, h);
|
||||||
|
|
||||||
// Manually change video quality of subscriber to q
|
// Manually change video quality of subscriber to q
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-LOW");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-LOW")).click();
|
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, q);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, q);
|
||||||
|
|
||||||
// Manually change video quality of subscriber to f
|
// Manually change video quality of subscriber to f
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-HIGH");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-HIGH")).click();
|
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, f);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, f);
|
||||||
|
|
||||||
gracefullyLeaveParticipants(user, 2);
|
gracefullyLeaveParticipants(user, 2);
|
||||||
|
|
@ -2420,16 +2412,13 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
// Check manual simulcast changes
|
// Check manual simulcast changes
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 1920);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 1920);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-LOW");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-LOW")).click();
|
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 640);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 640);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-MEDIUM");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-MEDIUM")).click();
|
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 1280);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 1280);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-HIGH");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-HIGH")).click();
|
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 1920);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 1920);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2437,28 +2426,23 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
// Check manual simulcast changes
|
// Check manual simulcast changes
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 960);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 960);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-LOW");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-LOW")).click();
|
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 480);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 480);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-MEDIUM");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-MEDIUM")).click();
|
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 960);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 960);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-LOW");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-LOW")).click();
|
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 480);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 480);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-HIGH");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-HIGH")).click();
|
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 960);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 960);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void testNoSimulcast(OpenViduTestappUser user, WebElement subscriberVideo) throws InterruptedException {
|
private void testNoSimulcast(OpenViduTestappUser user, WebElement subscriberVideo) throws InterruptedException {
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 1920);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 1920);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 #max-video-quality")).click();
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "mat-option.mode-LOW");
|
||||||
user.getDriver().findElement(By.cssSelector("mat-option.mode-LOW")).click();
|
|
||||||
// Without simulcast video should remain in high quality
|
// Without simulcast video should remain in high quality
|
||||||
Thread.sleep(4000);
|
Thread.sleep(4000);
|
||||||
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 1920);
|
this.waitUntilSubscriberFrameWidthIs(user, subscriberVideo, 1920);
|
||||||
|
|
@ -2757,21 +2741,18 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
user.getDriver().findElement(By.xpath("//button[contains(@title,'Room API')]")).click();
|
user.getDriver().findElement(By.xpath("//button[contains(@title,'Room API')]")).click();
|
||||||
if (preset != null) {
|
if (preset != null) {
|
||||||
this.waitForBackdropAndClick(user, "#ingress-preset-select");
|
this.waitForBackdropAndClick(user, "#ingress-preset-select");
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "#mat-option-" + preset.toUpperCase());
|
||||||
user.getDriver().findElement(By.cssSelector("#mat-option-" + preset.toUpperCase())).click();
|
|
||||||
} else {
|
} else {
|
||||||
if (!simulcast) {
|
if (!simulcast) {
|
||||||
this.waitForBackdropAndClick(user, "#ingress-simulcast");
|
this.waitForBackdropAndClick(user, "#ingress-simulcast");
|
||||||
Thread.sleep(300);
|
Thread.sleep(300);
|
||||||
}
|
}
|
||||||
this.waitForBackdropAndClick(user, "#ingress-video-codec-select");
|
this.waitForBackdropAndClick(user, "#ingress-video-codec-select");
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "#mat-option-" + codec.toUpperCase());
|
||||||
user.getDriver().findElement(By.cssSelector("#mat-option-" + codec.toUpperCase())).click();
|
|
||||||
}
|
}
|
||||||
if (urlType != null) {
|
if (urlType != null) {
|
||||||
this.waitForBackdropAndClick(user, "#ingress-url-type-select");
|
this.waitForBackdropAndClick(user, "#ingress-url-type-select");
|
||||||
Thread.sleep(300);
|
this.waitForBackdropAndClick(user, "#mat-option-" + urlType.toUpperCase());
|
||||||
user.getDriver().findElement(By.cssSelector("#mat-option-" + urlType.toUpperCase())).click();
|
|
||||||
}
|
}
|
||||||
if (urlUri != null) {
|
if (urlUri != null) {
|
||||||
user.getDriver().findElement(By.cssSelector("#ingress-url-uri-field")).sendKeys(urlUri);
|
user.getDriver().findElement(By.cssSelector("#ingress-url-uri-field")).sendKeys(urlUri);
|
||||||
|
|
@ -2797,7 +2778,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
if (scalabilityMode != null) {
|
if (scalabilityMode != null) {
|
||||||
user.getDriver().findElement(By.id("trackPublish-scalabilityMode")).click();
|
user.getDriver().findElement(By.id("trackPublish-scalabilityMode")).click();
|
||||||
user.getDriver().findElement(By.className("mode-" + scalabilityMode)).click();
|
this.waitForBackdropAndClick(user, ".mode-" + scalabilityMode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,31 +53,21 @@ video {
|
||||||
line-height: 16px;
|
line-height: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Keep the form-field visually compact (16×16 clipped box).
|
||||||
|
The CDK overlay uses the Popover API (top layer) so it is
|
||||||
|
immune to overflow:hidden and renders at its natural size. */
|
||||||
#max-video-quality {
|
#max-video-quality {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
|
overflow: hidden;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Compact the form-field chrome, but exclude the CDK overlay popover
|
::ng-deep #max-video-quality .mdc-notched-outline * {
|
||||||
(Angular CDK v21 renders it inside the component via the Popover API). */
|
|
||||||
::ng-deep #max-video-quality > :not(.cdk-overlay-popover),
|
|
||||||
::ng-deep #max-video-quality > :not(.cdk-overlay-popover) * {
|
|
||||||
height: 16px !important;
|
|
||||||
width: 8px !important;
|
|
||||||
min-height: 16px !important;
|
|
||||||
min-width: 8px !important;
|
|
||||||
padding: 0 !important;
|
|
||||||
border-color: transparent !important;
|
border-color: transparent !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Let the dropdown panel and its options render at their natural size */
|
::ng-deep #max-video-quality .mat-mdc-form-field-subscript-wrapper {
|
||||||
::ng-deep #max-video-quality .cdk-overlay-popover,
|
display: none !important;
|
||||||
::ng-deep #max-video-quality .cdk-overlay-popover * {
|
|
||||||
width: auto !important;
|
|
||||||
min-width: auto !important;
|
|
||||||
height: auto !important;
|
|
||||||
min-height: auto !important;
|
|
||||||
padding: revert !important;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue