diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 6bf0da18..f000201d 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## v4.3.0 (2022-10-24) +## v4.3.0 (2022-10-27) Release hrp sub package `uixt` to support iOS/Android UI automation testing 🎉 diff --git a/hrp/internal/version/VERSION b/hrp/internal/version/VERSION index bf493a39..1ddc0f60 100644 --- a/hrp/internal/version/VERSION +++ b/hrp/internal/version/VERSION @@ -1 +1 @@ -v4.3.0-10241627 \ No newline at end of file +v4.3.0 \ No newline at end of file diff --git a/hrp/pkg/uixt/android_test.go b/hrp/pkg/uixt/android_test.go index 03354830..21deeaf3 100644 --- a/hrp/pkg/uixt/android_test.go +++ b/hrp/pkg/uixt/android_test.go @@ -873,11 +873,37 @@ func TestDriver_AppLaunch(t *testing.T) { t.Fatal(err) } - // screenshot, err := driver.Screenshot() - // if err != nil { - // t.Fatal(err) - // } - // t.Log(ioutil.WriteFile("/Users/hero/Desktop/s1.png", screenshot.Bytes(), 0600)) + raw, err := driver.Screenshot() + if err != nil { + t.Fatal(err) + } + + t.Log(ioutil.WriteFile("s1.png", raw.Bytes(), 0o600)) +} + +func TestDriver_KeepAlive(t *testing.T) { + device, _ := NewAndroidDevice() + driver, err := device.NewUSBDriver(nil) + if err != nil { + t.Fatal(err) + } + + err = driver.AppLaunch("com.android.settings") + if err != nil { + t.Fatal(err) + } + + _, err = driver.Screenshot() + if err != nil { + t.Fatal(err) + } + + time.Sleep(60 * time.Second) + + _, err = driver.Screenshot() + if err != nil { + t.Fatal(err) + } } func TestDriver_AppTerminate(t *testing.T) { diff --git a/hrp/pkg/uixt/client.go b/hrp/pkg/uixt/client.go index d2308b10..5ebd9309 100644 --- a/hrp/pkg/uixt/client.go +++ b/hrp/pkg/uixt/client.go @@ -93,18 +93,10 @@ func (wd *Driver) httpRequest(method string, rawURL string, rawBody []byte) (raw } func convertToHTTPClient(conn net.Conn) *http.Client { - // set tcp keep alive - tcpConn := conn.(*net.TCPConn) - if err := tcpConn.SetKeepAlive(true); err != nil { - log.Error().Err(err).Msg("set tcp keep alive failed") - } - if err := tcpConn.SetKeepAlivePeriod(30 * time.Second); err != nil { - log.Error().Err(err).Msg("set tcp keep alive period failed") - } return &http.Client{ Transport: &http.Transport{ DialContext: func(_ context.Context, _, _ string) (net.Conn, error) { - return tcpConn, nil + return conn, nil }, }, Timeout: 0, diff --git a/hrp/pkg/uixt/ocr_vedem_test.go b/hrp/pkg/uixt/ocr_vedem_test.go new file mode 100644 index 00000000..2bb650b7 --- /dev/null +++ b/hrp/pkg/uixt/ocr_vedem_test.go @@ -0,0 +1,51 @@ +//go:build localtest + +package uixt + +import ( + "fmt" + "os" + "testing" +) + +func checkOCR(buff []byte) error { + service, err := newVEDEMOCRService() + if err != nil { + return err + } + ocrResults, err := service.getOCRResult(buff) + if err != nil { + return err + } + fmt.Println(ocrResults) + return nil +} + +func TestOCRWithScreenshot(t *testing.T) { + device, _ := NewAndroidDevice() + driver, err := device.NewUSBDriver(nil) + if err != nil { + t.Fatal(err) + } + + raw, err := driver.Screenshot() + if err != nil { + t.Fatal(err) + } + + if err := checkOCR(raw.Bytes()); err != nil { + t.Fatal(err) + } +} + +func TestOCRWithLocalFile(t *testing.T) { + imagePath := "/Users/debugtalk/Downloads/s1.png" + file, err := os.ReadFile(imagePath) + if err != nil { + t.Fatal(err) + } + + if err := checkOCR(file); err != nil { + t.Fatal(err) + } +}