cherry-pick(1.11.1): fix: wait for video to finish even if page was closed (#447) (#448)

This commit is contained in:
Yury Semikhatsky 2021-05-19 16:08:09 +00:00 committed by GitHub
parent 0585e0d108
commit 7fb2ff34c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 1 deletions

View File

@ -19,8 +19,11 @@ package com.microsoft.playwright;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.stream.Collectors;
import static org.junit.jupiter.api.Assertions.*;
@ -101,4 +104,25 @@ public class TestScreencast extends TestBase {
Path videoPath = page.video().path();
assertFalse(Files.exists(videoPath));
}
@Test
void shouldWaitForVideoFinishWhenPageIsClosed(@TempDir Path videosDir) throws IOException {
try (Browser browser = browserType.launch(createLaunchOptions())) {
BrowserContext context = browser.newContext(
new Browser.NewContextOptions()
.setRecordVideoDir(videosDir)
.setRecordVideoSize(320, 240)
.setViewportSize(320, 240));
Page page = context.newPage();
page.evaluate("() => document.body.style.backgroundColor = 'red'");
page.waitForTimeout(500);
// First close page manually.
page.close();
context.close();
}
List<Path> files = Files.list(videosDir).collect(Collectors.toList());
assertEquals(1, files.size());
assertTrue(Files.exists(files.get(0)));
assertTrue(Files.size(files.get(0)) > 0);
}
}

View File

@ -1 +1 @@
1.11.0-1620331022000
1.11.0-1621402998000