...

Source file src/github.com/playwright-community/playwright-go/tests/video_test.go

Documentation: github.com/playwright-community/playwright-go/tests

     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