1 package playwright_test
2
3 import (
4 "testing"
5
6 "github.com/playwright-community/playwright-go"
7 "github.com/stretchr/testify/require"
8 )
9
10 func TestFrameWaitForNavigationShouldWork(t *testing.T) {
11 BeforeEach(t)
12 defer AfterEach(t)
13 _, err := page.Goto(server.EMPTY_PAGE)
14 require.NoError(t, err)
15 response, err := page.ExpectNavigation(func() error {
16 _, err := page.Evaluate("url => window.location.href = url", server.PREFIX+"/grid.html")
17 return err
18 })
19 require.NoError(t, err)
20 require.True(t, response.Ok())
21 require.Contains(t, response.URL(), "grid.html")
22 }
23
24 func TestFrameWaitForNavigationAnchorLinks(t *testing.T) {
25 BeforeEach(t)
26 defer AfterEach(t)
27 _, err := page.Goto(server.EMPTY_PAGE)
28 require.NoError(t, err)
29 require.NoError(t, page.SetContent(`<a href="#foobar">foobar</a>`))
30 response, err := page.ExpectNavigation(func() error {
31 return page.Click("a")
32 })
33 require.NoError(t, err)
34 require.Nil(t, response)
35 require.Equal(t, server.EMPTY_PAGE+"#foobar", page.URL())
36 }
37
38 func TestFrameInnerHTML(t *testing.T) {
39 BeforeEach(t)
40 defer AfterEach(t)
41 _, err := page.Goto(server.PREFIX + "/dom.html")
42 require.NoError(t, err)
43 handle, err := page.QuerySelector("#outer")
44 require.NoError(t, err)
45 innerHTML, err := handle.InnerHTML()
46 require.NoError(t, err)
47 require.Equal(t, `<div id="inner">Text,
48 more text</div>`, innerHTML)
49 innerHTML, err = page.InnerHTML("#outer")
50 require.NoError(t, err)
51 require.Equal(t, `<div id="inner">Text,
52 more text</div>`, innerHTML)
53 }
54
55 func TestFrameSetInputFiles(t *testing.T) {
56 BeforeEach(t)
57 defer AfterEach(t)
58 _, err := page.Goto(server.EMPTY_PAGE)
59 require.NoError(t, err)
60 require.NoError(t, page.SetContent("<input type=file>"))
61
62 require.NoError(t, page.SetInputFiles("input", []playwright.InputFile{
63 {
64 Name: "file-to-upload.txt",
65 MimeType: "text/plain",
66 Buffer: []byte("123"),
67 },
68 }))
69 fileName, err := page.EvalOnSelector("input", "e => e.files[0].name")
70 require.NoError(t, err)
71 require.Equal(t, "file-to-upload.txt", fileName)
72 }
73
View as plain text