...
1 package playwright_test
2
3 import (
4 "io/ioutil"
5 "path/filepath"
6 "testing"
7
8 "github.com/h2non/filetype"
9 "github.com/playwright-community/playwright-go"
10 "github.com/stretchr/testify/require"
11 )
12
13 func TestVideoShouldWork(t *testing.T) {
14 recordVideoDir := t.TempDir()
15 newContextWithOptions(t, playwright.BrowserNewContextOptions{
16 RecordVideo: &playwright.BrowserNewContextOptionsRecordVideo{
17 Dir: playwright.String(recordVideoDir),
18 },
19 })
20 defer AfterEach(t)
21 _, err := page.Goto(server.EMPTY_PAGE)
22 require.NoError(t, err)
23 _, err = page.Reload()
24 require.NoError(t, err)
25 _, err = page.Reload()
26 require.NoError(t, err)
27 require.NoError(t, context.Close())
28
29 files, err := ioutil.ReadDir(recordVideoDir)
30 require.NoError(t, err)
31 require.Equal(t, len(files), 1)
32 videoFileLocation := filepath.Join(recordVideoDir, files[0].Name())
33 path, err := page.Video().Path()
34 require.NoError(t, err)
35 require.Equal(t, videoFileLocation, path)
36 require.FileExists(t, videoFileLocation)
37 content, err := ioutil.ReadFile(videoFileLocation)
38 require.NoError(t, err)
39 require.True(t, filetype.IsVideo(content))
40 tmpFile := filepath.Join(t.TempDir(), "test.webm")
41 require.NoError(t, page.Video().SaveAs(tmpFile))
42 require.FileExists(t, tmpFile)
43 require.NoError(t, page.Video().Delete())
44 require.NoFileExists(t, videoFileLocation)
45 }
46
View as plain text