mirror of https://github.com/OpenVidu/openvidu.git
openvidu-test-e2e: improve flaky tests
parent
aeac86b3c0
commit
437c8446f1
|
|
@ -67,6 +67,7 @@ import org.openqa.selenium.Alert;
|
||||||
import org.openqa.selenium.By;
|
import org.openqa.selenium.By;
|
||||||
import org.openqa.selenium.Dimension;
|
import org.openqa.selenium.Dimension;
|
||||||
import org.openqa.selenium.Keys;
|
import org.openqa.selenium.Keys;
|
||||||
|
import org.openqa.selenium.OutputType;
|
||||||
import org.openqa.selenium.WebDriver;
|
import org.openqa.selenium.WebDriver;
|
||||||
import org.openqa.selenium.WebElement;
|
import org.openqa.selenium.WebElement;
|
||||||
import org.openqa.selenium.support.ui.ExpectedCondition;
|
import org.openqa.selenium.support.ui.ExpectedCondition;
|
||||||
|
|
@ -599,8 +600,10 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
|
|
||||||
user.getWaiter()
|
user.getWaiter()
|
||||||
.until(ExpectedConditions.not(ExpectedConditions.attributeToBeNotEmpty(subscriberVideo, "srcObject")));
|
.until(ExpectedConditions.not(ExpectedConditions.attributeToBeNotEmpty(subscriberVideo, "srcObject")));
|
||||||
Assertions.assertFalse(user.getBrowserUser().hasMediaStream(subscriberVideo, "#openvidu-instance-0"),
|
final WebElement subscriberVideoFinal = subscriberVideo;
|
||||||
"Subscriber video should not have srcObject defined after unsubscribe");
|
user.getWaiter().until((ExpectedCondition<Boolean>) driver -> {
|
||||||
|
return !user.getBrowserUser().hasMediaStream(subscriberVideoFinal, "#openvidu-instance-0");
|
||||||
|
});
|
||||||
|
|
||||||
subBtn.click();
|
subBtn.click();
|
||||||
user.getEventManager().waitUntilEventReaches("streamPlaying", 3);
|
user.getEventManager().waitUntilEventReaches("streamPlaying", 3);
|
||||||
|
|
@ -669,8 +672,10 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
for (WebElement video : user.getDriver().findElements(By.tagName("video"))) {
|
for (WebElement video : user.getDriver().findElements(By.tagName("video"))) {
|
||||||
user.getWaiter()
|
user.getWaiter()
|
||||||
.until(ExpectedConditions.not(ExpectedConditions.attributeToBeNotEmpty(video, "srcObject")));
|
.until(ExpectedConditions.not(ExpectedConditions.attributeToBeNotEmpty(video, "srcObject")));
|
||||||
Assertions.assertFalse(user.getBrowserUser().hasMediaStream(video, ""),
|
final WebElement videoFinal = video;
|
||||||
"Videos were expected to lack srcObject property");
|
user.getWaiter().until((ExpectedCondition<Boolean>) driver -> {
|
||||||
|
return !user.getBrowserUser().hasMediaStream(videoFinal, "");
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
for (WebElement el : publishButtons) {
|
for (WebElement el : publishButtons) {
|
||||||
|
|
@ -843,14 +848,26 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Thread.sleep(1000);
|
||||||
|
|
||||||
WebElement publisherVideo = user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 video"));
|
WebElement publisherVideo = user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 video"));
|
||||||
WebElement subscriberVideo = user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 video"));
|
WebElement subscriberVideo = user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 video"));
|
||||||
Map<String, Long> rgbPublisher = user.getBrowserUser().getAverageRgbFromVideo(publisherVideo);
|
Map<String, Long> rgbPublisher = user.getBrowserUser().getAverageRgbFromVideo(publisherVideo);
|
||||||
Map<String, Long> rgbSubscriber = user.getBrowserUser().getAverageRgbFromVideo(subscriberVideo);
|
Map<String, Long> rgbSubscriber = user.getBrowserUser().getAverageRgbFromVideo(subscriberVideo);
|
||||||
Assertions.assertTrue(RecordingUtils.checkVideoAverageRgbLightGray(rgbPublisher),
|
if (!RecordingUtils.checkVideoAverageRgbLightGray(rgbPublisher)) {
|
||||||
"Publisher video is not average gray");
|
String publisherScreenshot = publisherVideo.getScreenshotAs(OutputType.BASE64);
|
||||||
Assertions.assertTrue(RecordingUtils.checkVideoAverageRgbLightGray(rgbSubscriber),
|
log.error("Publisher video is not average gray. Screenshot (base64): {}", publisherScreenshot);
|
||||||
"Subscriber video is not average gray");
|
log.error("Publisher video RGB averages: R={} G={} B={}", rgbPublisher.get("r"), rgbPublisher.get("g"),
|
||||||
|
rgbPublisher.get("b"));
|
||||||
|
Assertions.fail("Publisher video is not average gray");
|
||||||
|
}
|
||||||
|
if (!RecordingUtils.checkVideoAverageRgbLightGray(rgbSubscriber)) {
|
||||||
|
String subscriberScreenshot = subscriberVideo.getScreenshotAs(OutputType.BASE64);
|
||||||
|
log.error("Subscriber video is not average gray. Screenshot (base64): {}", subscriberScreenshot);
|
||||||
|
log.error("Subscriber video RGB averages: R={} G={} B={}", rgbSubscriber.get("r"), rgbSubscriber.get("g"),
|
||||||
|
rgbSubscriber.get("b"));
|
||||||
|
Assertions.fail("Subscriber video is not average gray");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue