From 3ea29d2b808fd6b920ea69d3ffbc2dcb0e4554b9 Mon Sep 17 00:00:00 2001 From: Ato Araki Date: Mon, 12 Jun 2023 15:03:54 +0900 Subject: [PATCH 1/2] element: add wait for enabled --- element.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/element.go b/element.go index 246af89..dc76672 100644 --- a/element.go +++ b/element.go @@ -56,3 +56,39 @@ func (e *Element) VerifyText(fn func(string, string) bool, expect string) *Eleme } return e } + +func (e *Element) WaitForEnabled() *Element { + e.Helper() + + var enabled bool + var err error + ok := wait(func() bool { + enabled, err = e.elem.IsEnabled() + if err != nil { + e.Fatal(err) + } + return enabled + }) + if !ok { + e.Fatal(err) + } + return e +} + +func (e *Element) WaitForDisabled() *Element { + e.Helper() + + var enabled bool + var err error + ok := wait(func() bool { + enabled, err = e.elem.IsEnabled() + if err != nil { + e.Fatal(err) + } + return !enabled + }) + if !ok { + e.Fatal(err) + } + return e +} From df1c2cde45deb8a0dc296ccfe6e973029a76988a Mon Sep 17 00:00:00 2001 From: Ato Araki Date: Mon, 12 Jun 2023 15:44:34 +0900 Subject: [PATCH 2/2] fix test --- .circleci/config.yml | 8 ++++---- example/example_test.go | 5 +---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f316a14..6575e92 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,21 +12,21 @@ jobs: keys: - go-mod-v1-{{ checksum "go.sum" }} - run: - name: Install Dependencies + name: go mod download command: go mod download - save_cache: key: go-mod-v1-{{ checksum "go.sum" }} paths: - "/go/pkg/mod" - run: - name: Chack gofmt + name: check gofmt command: | test -z `gofmt -l ./ | tee /dev/stderr | head -n 1` - run: - name: Chack code + name: check go vet command: | go vet ./... - run: - name: Run tests + name: run tests command: | go test -v ./... diff --git a/example/example_test.go b/example/example_test.go index 37f975c..314ca07 100644 --- a/example/example_test.go +++ b/example/example_test.go @@ -27,7 +27,7 @@ func TestSimple(tt *testing.T) { d := t.OpenBrowser() d.SetPageLoadTimeout(4 * time.Second) - d.VisitTo("https://tour.golang.org/welcome/1") + d.VisitTo("https://go.dev/tour/welcome/1") // ngのレンダリングを待たなければrunの結果が出てこない d.TakeSource("./before.html") time.Sleep(2 * time.Second) @@ -38,9 +38,6 @@ func TestSimple(tt *testing.T) { d.WaitFor("class:stdout") d.MustFindElement("class:stdout").VerifyText(strings.Contains, "Hello") - - d.MustFindElement("class:next-page").Click() - d.ExpectTransitTo("/welcome/2").TakeScreenshot("page2.png") } var code = `