Skip to content

Commit 834f2bf

Browse files
committed
fix flaky tests
1 parent 5ad4b5a commit 834f2bf

File tree

4 files changed

+16
-16
lines changed

4 files changed

+16
-16
lines changed

hijack_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ func TestHijackMockWholeResponse(t *testing.T) {
181181

182182
go router.Run()
183183

184-
g.page.MustNavigate("http://test.com")
184+
g.page.MustNavigate("http://localhost")
185185

186186
g.Eq("ok", g.page.MustElement("body").MustText())
187187
}
@@ -289,7 +289,7 @@ func TestHijackLoadResponseErr(t *testing.T) {
289289
wg := &sync.WaitGroup{}
290290
wg.Add(1)
291291

292-
router.MustAdd("http://test.com/a", func(ctx *rod.Hijack) {
292+
router.MustAdd("http://localhost/a", func(ctx *rod.Hijack) {
293293
g.Err(ctx.LoadResponse(&http.Client{
294294
Transport: &MockRoundTripper{err: errors.New("err")},
295295
}, true))
@@ -308,7 +308,7 @@ func TestHijackLoadResponseErr(t *testing.T) {
308308

309309
go router.Run()
310310

311-
_ = p.Navigate("http://test.com/a")
311+
_ = p.Navigate("http://localhost/a")
312312

313313
wg.Wait()
314314
}

lib/launcher/browser.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,8 @@ func (lc *Browser) Validate() error {
180180
return err
181181
}
182182

183-
cmd := exec.Command(lc.BinPath(), "--headless", "--no-sandbox",
183+
cmd := exec.Command(lc.BinPath(), "--headless=new", "--no-sandbox",
184+
"--use-mock-keychain", "--disable-dev-shm-usage",
184185
"--disable-gpu", "--dump-dom", "about:blank")
185186
b, err := cmd.CombinedOutput()
186187
if err != nil {

page_test.go

+8-11
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func TestSetExtraHeaders(t *testing.T) {
100100

101101
wg := sync.WaitGroup{}
102102
var header http.Header
103-
s.Mux.HandleFunc("/", func(_ http.ResponseWriter, r *http.Request) {
103+
s.Mux.HandleFunc("/set-header", func(_ http.ResponseWriter, r *http.Request) {
104104
header = r.Header
105105
wg.Done()
106106
})
@@ -109,23 +109,20 @@ func TestSetExtraHeaders(t *testing.T) {
109109
cleanup := p.MustSetExtraHeaders("a", "1", "b", "2")
110110

111111
wg.Add(1)
112-
p.MustNavigate(s.URL())
112+
p.MustNavigate(s.URL("/set-header"))
113113
wg.Wait()
114114

115115
g.Eq(header.Get("a"), "1")
116116
g.Eq(header.Get("b"), "2")
117117

118118
cleanup()
119119

120-
// TODO: I don't know why it will fail randomly
121-
if false {
122-
wg.Add(1)
123-
p.MustReload()
124-
wg.Wait()
120+
wg.Add(1)
121+
p.MustReload()
122+
wg.Wait()
125123

126-
g.Eq(header.Get("a"), "")
127-
g.Eq(header.Get("b"), "")
128-
}
124+
g.Eq(header.Get("a"), "")
125+
g.Eq(header.Get("b"), "")
129126
}
130127

131128
func TestSetUserAgent(t *testing.T) {
@@ -892,7 +889,7 @@ func TestFonts(t *testing.T) {
892889
func TestPagePDF(t *testing.T) {
893890
g := setup(t)
894891

895-
p := g.page.MustNavigate(g.srcFile("fixtures/click.html"))
892+
p := g.page.MustNavigate(g.srcFile("fixtures/click.html")).MustWaitLoad()
896893

897894
s, err := p.PDF(&proto.PagePrintToPDF{})
898895
g.E(err)

setup_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ func newTesterPool() rod.Pool[G] {
8989
}
9090

9191
func newTester() *G {
92-
u := launcher.New().Set("proxy-bypass-list", "<-loopback>").MustLaunch()
92+
u := launcher.New().Set("proxy-bypass-list", "<-loopback>").NoSandbox(true).MustLaunch()
9393

9494
mc := newMockClient(u)
9595

@@ -127,6 +127,8 @@ func setup(t *testing.T) G {
127127

128128
tester.checkLeaking()
129129

130+
tester.page.MustNavigate("")
131+
130132
return *tester
131133
}
132134

0 commit comments

Comments
 (0)