You can use the
await keyword along with the
video.saveAs() method in Playwright to wait for a video to finish saving. This method saves the video to a path you specify and waits until the page is closed and the video is fully saved.
Here's how you can do it:
const path = await page.video().path(); // Get the path where the video will be recorded
await page.video().saveAs(path); // Save the video to the path
console.log("Video has been saved.");
In this example, we first get the path where the video will be recorded using
page.video().path(). Then, we save the video to that path using
page.video().saveAs(path). The code will pause here until the video is fully saved.
Remember, you need to close both your browser context and page before trying to access or save any videos. Videos are only available after either the browser context or page is closed.
If you manually create a browser context, make sure to call
browserContext.close() before trying to access or save any videos associated with that context.
The time it takes for Playwright to finish saving a video after calling
video.saveAs() can vary. It's recommended to add appropriate waiting mechanisms or timeouts if necessary.
If you still have questions, please ask a question and I will try to answer it.
Rayrun is a community for QA engineers. I am constantly looking for new ways to add value to people learning Playwright and other browser automation frameworks. If you have feedback, email email@example.com.