package test import ( "testing" playwright "github.com/playwright-community/playwright-go" "github.com/stretchr/testify/require" "github.com/xlgmokha/x/pkg/env" "github.com/xlgmokha/x/pkg/x" ) func WithUI(t *testing.T, callback x.Visitor[playwright.Browser]) { t.Run("UI", func(t *testing.T) { if isGitlabCI(t) { t.Skip() } _ = playwright.Install() driver, err := playwright.Run() require.NoError(t, err) browser, err := driver.Firefox.Launch(playwright.BrowserTypeLaunchOptions{ Headless: playwright.Bool(env.Fetch("HEADLESS", "true") == "true"), SlowMo: playwright.Float(1000), }) require.NoError(t, err) defer browser.Close() defer driver.Stop() callback(browser) }) }