package tests import ( "context" "log" "time" "runtime" "github.com/stretchr/testify/assert" browser "github.com/chromedp/chromedp" ) func Setup(timeout time.Duration) (context.Context, context.CancelFunc) { opts := append(browser.DefaultExecAllocatorOptions[:], browser.Flag("headless", runtime.GOOS == "windows"),) ctx, cancel := browser.NewExecAllocator(context.Background(), opts...) ctx, _ = browser.NewContext(ctx, browser.WithLogf(log.Printf)) ctx, _ = context.WithTimeout(ctx, timeout * time.Second) return ctx, cancel } func ClickOn(assert *assert.Assertions, ctx context.Context, id string) { err := browser.Run(ctx, browser.WaitVisible(`#streams`),) assert.NoError(err) resp, err := browser.RunResponse(ctx, browser.Click(id, browser.ByID)) assert.Equal(resp.Status, int64(200)) assert.NoError(err) } func Run(assert *assert.Assertions, ctx context.Context, actions ...browser.Action) { err := browser.Run(ctx, actions...) assert.NoError(err) }