change: remove unused UI APIs

This commit is contained in:
debugtalk
2022-12-25 19:05:14 +08:00
parent 287498f098
commit 53fbfd3ef0
24 changed files with 190 additions and 4497 deletions

View File

@@ -3,6 +3,8 @@
package uixt
import (
"encoding/json"
"fmt"
"io/ioutil"
"testing"
"time"
@@ -115,20 +117,6 @@ func TestDriver_Screenshot(t *testing.T) {
t.Log(ioutil.WriteFile("/Users/hero/Desktop/s1.png", screenshot.Bytes(), 0o600))
}
func TestDriver_Orientation(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
orientation, err := driver.Orientation()
if err != nil {
t.Fatal(err)
}
t.Log(orientation)
}
func TestDriver_Rotation(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
@@ -232,20 +220,6 @@ func TestDriver_DeviceInfo(t *testing.T) {
t.Logf("bluetooth state: %s", devInfo.Bluetooth.State)
}
func TestDriver_AlertText(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
alertText, err := driver.AlertText()
if err != nil {
t.Fatal(err)
}
t.Log(alertText)
}
func TestDriver_Tap(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
@@ -326,333 +300,13 @@ func TestDriver_SendKeys(t *testing.T) {
}
}
//func TestDriver_PressBack(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// err = driver.PressBack()
// if err != nil {
// t.Fatal(err)
// }
//}
//func TestDriver_PressKeyCode(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// err = driver.PressKeyCodeAsync(KCx)
// if err != nil {
// t.Fatal(err)
// }
// err = driver.PressKeyCodeAsync(KCx, KMCapLocked)
// if err != nil {
// t.Fatal(err)
// }
// // err = driver.PressKeyCodeAsync(KCExplorer)
// // if err != nil {
// // t.Fatal(err)
// // }
//
// err = driver.PressKeyCode(KCExplorer, KMEmpty)
// if err != nil {
// t.Fatal(err)
// }
//}
//func TestDriver_LongPressKeyCode(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// err = driver.LongPressKeyCode(KCAt, KMEmpty)
// if err != nil {
// t.Fatal(err)
// }
//}
//
//func TestDriver_TouchDown(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// doTouchUp := func() {
// err = driver.TouchUp(400, 260)
// if err != nil {
// t.Fatal(err)
// }
// }
//
// err = driver.TouchDown(400, 260)
// if err != nil {
// t.Fatal(err)
// }
//
// // _ = driver.TapPoint(Point{400, 500})
// doTouchUp()
//
// err = driver.TouchDownPoint(Point{400, 260})
// if err != nil {
// t.Fatal(err)
// }
//
// doTouchUp()
//}
//
//func TestDriver_TouchUp(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// err = driver.TouchDown(400, 260)
// if err != nil {
// t.Fatal(err)
// }
//
// // err = driver.TouchUp(400, 260)
// err = driver.TouchUpPoint(Point{400, 260})
// if err != nil {
// t.Fatal(err)
// }
//}
//
//func TestDriver_TouchMove(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// doTouchDown := func(x, y int) {
// err = driver.TouchDown(x, y)
// if err != nil {
// t.Fatal(err)
// }
// }
//
// doTouchUp := func(x, y int) {
// err = driver.TouchUp(x, y)
// if err != nil {
// t.Fatal(err)
// }
// }
//
// doTouchDown(400, 260)
//
// err = driver.TouchMove(400, 500)
// if err != nil {
// t.Fatal(err)
// }
//
// doTouchUp(400, 500)
//
// doTouchDown(400, 500)
//
// err = driver.TouchMove(400, 260)
// if err != nil {
// t.Fatal(err)
// }
//
// doTouchUp(400, 260)
//}
//
//func TestDriver_OpenNotification(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// err = driver.OpenNotification()
// if err != nil {
// t.Fatal(err)
// }
//}
//
//func TestDriver_Flick(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// err = driver.Flick(50, -100)
// if err != nil {
// t.Fatal(err)
// }
//}
//
//func TestDriver_ScrollTo(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// err = driver.ScrollTo(BySelector{ClassName: "android.widget.SeekBar"})
// if err != nil {
// t.Fatal(err)
// }
//}
//func TestDriver_MultiPointerGesture(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// gesture1 := NewTouchAction().Add(150, 340, 0.35).AddFloat(50, 300)
// gesture2 := NewTouchAction().Add(200, 340).AddFloat(300, 300)
// gesture3 := NewTouchAction().Add(300, 500).AddFloat(350, 500).AddPoint(Point{300, 550}).AddPointF(PointF{350, 550})
// _ = gesture3
//
// // err = driver.MultiPointerGesture(gesture1, gesture2)
// err = driver.MultiPointerGesture(gesture1, gesture2, gesture3)
// if err != nil {
// t.Fatal(err)
// }
//}
//
//func TestDriver_PerformW3CActions(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// // actionKey := NewW3CAction(ATKey, NewW3CGestures().KeyDown("g").KeyUp("g").Pause().KeyDown("o").KeyUp("o"))
// // actionKey := NewW3CAction(ATKey, NewW3CGestures().SendKeys("golang"))
// // err = driver.PerformW3CActions(actionKey)
// // if err != nil {
// // t.Fatal(err)
// // }
//
// // var queryField map[string]string
// // queryField = make(map[string]string)
// // {
// // queryField = map[string]string{
// // "a": "",
// // }
// // }
//
// elem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/search"})
// if err != nil {
// t.Fatal(err)
// }
// // actionPointer := NewW3CAction(ATPointer, NewW3CGestures().PointerMove(0, 0, elem.id).PointerDown().Pause(3).PointerUp())
// // actionPointer := NewW3CAction(ATPointer,
// // NewW3CGestures().PointerMove(400, 500, "viewport").PointerDown().Pause(2).
// // PointerMove(0, 0, elem.id).Pause(2).
// // PointerMove(20, 0, "pointer").Pause(2).
// // PointerUp(),
// // )
// actionPointer := NewW3CAction(ATPointer,
// NewW3CGestures().PointerMoveTo(400, 500).PointerDown().
// PointerMouseOver(0, 0, elem).
// PointerMoveRelative(20, 0).PointerUp())
// err = driver.PerformW3CActions(actionPointer)
// if err != nil {
// t.Fatal(err)
// }
//}
//
//func TestDriver_GetClipboard(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// text, err := driver.GetClipboard()
// if err != nil {
// t.Fatal(err)
// }
// t.Log(text)
//}
//
//func TestDriver_SetClipboard(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// content := "test123"
// err = driver.SetClipboard(ClipDataTypePlaintext, content)
// if err != nil {
// t.Fatal(err)
// }
//
// text, err := driver.GetClipboard()
// if err != nil {
// t.Fatal(err)
// }
// if text != content {
// t.Fatal("should be the same")
// }
//}
func TestDriver_AlertAccept(t *testing.T) {
func TestDriver_PressBack(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
err = driver.AlertAccept()
// err = driver.AlertAccept("是")
if err != nil {
t.Fatal(err)
}
}
func TestDriver_AlertDismiss(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
// err = driver.AlertDismiss()
err = driver.AlertDismiss("否")
if err != nil {
t.Fatal(err)
}
}
//func TestDriver_SetAppiumSettings(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// appiumSettings, err := driver.GetAppiumSettings()
// if err != nil {
// t.Fatal(err)
// }
// sdopd := appiumSettings["shutdownOnPowerDisconnect"]
// t.Log("shutdownOnPowerDisconnect:", sdopd)
//
// err = driver.SetAppiumSettings(map[string]interface{}{"shutdownOnPowerDisconnect": !sdopd.(bool)})
// if err != nil {
// t.Fatal(err)
// }
//
// appiumSettings, err = driver.GetAppiumSettings()
// if err != nil {
// t.Fatal(err)
// }
// if appiumSettings["shutdownOnPowerDisconnect"] == sdopd.(bool) {
// t.Fatal("should not be equal")
// }
// t.Log("shutdownOnPowerDisconnect:", appiumSettings["shutdownOnPowerDisconnect"])
//}
func TestDriver_SetOrientation(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
err = driver.SetOrientation(OrientationLandscapeLeft)
// err = driver.SetOrientation(OrientationPortrait)
err = driver.PressBack()
if err != nil {
t.Fatal(err)
}
@@ -671,118 +325,6 @@ func TestDriver_SetRotation(t *testing.T) {
}
}
//func TestDriver_NetworkConnection(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// err = driver.NetworkConnection(NetworkTypeWifi)
// if err != nil {
// t.Fatal(err)
// }
//}
func TestDriver_FindElement(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
elem, err := driver.FindElement(BySelector{ResourceIdID: "android:id/content"})
if err != nil {
t.Fatal(err)
}
e := ElementAttribute{}.WithLabel("class")
t.Log(elem.GetAttribute(e))
}
func TestDriver_FindElements(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
// elements, err := driver.FindElements(BySelector{ResourceIdID: "com.android.settings:id/title"})
elements, err := driver.FindElements(BySelector{UiAutomator: "new UiSelector().textStartsWith(\"应\");"})
if err != nil {
t.Fatal(err)
}
t.Log(len(elements))
}
func TestDriver_WaitWithTimeoutAndInterval(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
element, err := driver.FindElement(BySelector{UiAutomator: "new UiSelector().className(\"android.view.ViewGroup\");"})
if err != nil {
t.Fatal(err)
}
elem, err := element.FindElement(BySelector{UiAutomator: "new UiSelector().className(\"android.widget.LinearLayout\").index(6);"})
if err != nil {
t.Fatal(err)
}
rect, err := elem.Rect()
if err != nil {
t.Fatal(err)
}
x := rect.X + int(float64(rect.Width)*2)
y := rect.Y + rect.Height/2
err = driver.Tap(x, y)
if err != nil {
t.Fatal(err)
}
by := BySelector{UiAutomator: "new UiSelector().text(\"科技\");"}
exists := func(d WebDriver) (bool, error) {
element, err = d.FindElement(by)
if err == nil {
return true, nil
}
return false, nil
}
err = driver.WaitWithTimeoutAndInterval(exists, 1, 1)
if err != nil {
t.Fatal(err)
}
// element, err = driver.FindElement(by)
// if err != nil {
// t.Fatal(err)
// }
err = element.Click()
if err != nil {
t.Fatal(err)
}
}
//func TestDriver_ActiveElement(t *testing.T) {
// device, _ := NewAndroidDevice()
// driver, err := device.NewUSBDriver(nil)
// if err != nil {
// t.Fatal(err)
// }
// defer func() {
// _ = driver.Dispose()
// }()
//
// element, err := driver.ActiveElement()
// if err != nil {
// t.Fatal(err)
// }
//
// if err = element.SendKeys("test"); err != nil {
// t.Fatal(err)
// }
//}
func TestUiSelectorHelper_NewUiSelectorHelper(t *testing.T) {
uiSelector := NewUiSelectorHelper().Text("a").String()
if uiSelector != `new UiSelector().text("a");` {
@@ -828,39 +370,6 @@ func TestDeviceList(t *testing.T) {
}
}
//func TestAndroidNewUSBDriver(t *testing.T) {
// device, _ := NewAndroidDevice()
// driver, err := device.NewUSBDriver(nil)
// if err != nil {
// t.Fatal(err)
// }
// defer driver.Dispose()
//
// ready, err := driver.Status()
// if err != nil {
// t.Fatal(err)
// }
// if !ready {
// t.Fatal("should be 'true'")
// }
//}
//func TestDriver_ActiveAppPackageName(t *testing.T) {
// device, _ := NewAndroidDevice()
// driver, err := device.NewUSBDriver(nil)
// if err != nil {
// t.Fatal(err)
// }
// defer driver.Dispose()
//
// appPackageName, err := driver.ActiveAppPackageName()
// if err != nil {
// t.Fatal(err)
// }
//
// t.Log(appPackageName)
//}
func TestDriver_AppLaunch(t *testing.T) {
device, _ := NewAndroidDevice()
driver, err := device.NewUSBDriver(nil)
@@ -912,7 +421,6 @@ func TestDriver_AppTerminate(t *testing.T) {
if err != nil {
t.Fatal(err)
}
defer driver.Dispose()
_, err = driver.AppTerminate("tv.danmaku.bili")
if err != nil {
@@ -920,413 +428,12 @@ func TestDriver_AppTerminate(t *testing.T) {
}
}
//func TestNewWiFiDriver(t *testing.T) {
// device, _ := NewAndroidDevice(WithAdbIP("192.168.1.28"))
// driver, err := device.NewHTTPDriver(nil)
// if err != nil {
// t.Fatal(err)
// }
//
// // SetDebug(false, true)
// _, err = driver.ActiveAppActivity()
// if err != nil {
// t.Fatal(err)
// }
//}
//func TestDriver_AppInstall(t *testing.T) {
// device, _ := NewAndroidDevice()
// driver, err := device.NewUSBDriver(nil)
// if err != nil {
// t.Fatal(err)
// }
// defer driver.Dispose()
//
// err = driver.AppInstall("/Users/hero/Desktop/xuexi_android_10002068.apk")
// if err != nil {
// t.Fatal(err)
// }
//}
//func TestDriver_AppUninstall(t *testing.T) {
// device, _ := NewAndroidDevice()
// driver, err := device.NewUSBDriver(nil)
// if err != nil {
// t.Fatal(err)
// }
// defer driver.Dispose()
//
// err = driver.AppUninstall("cn.xuexi.android")
// if err != nil {
// t.Fatal(err)
// }
//}
func TestBySelector_getMethodAndSelector(t *testing.T) {
testVal := "test id"
bySelector := BySelector{ResourceIdID: testVal}
method, selector := bySelector.getMethodAndSelector()
if method != "id" || selector != testVal {
t.Fatal(method, "=", selector)
}
bySelector = BySelector{ContentDescription: testVal}
method, selector = bySelector.getMethodAndSelector()
if method != "accessibility id" || selector != testVal {
t.Fatal(method, "=", selector)
func TestConvertPoints(t *testing.T) {
data := "10-09 20:16:48.216 I/iesqaMonitor(17845): {\"duration\":0,\"end\":1665317808206,\"ext\":\"输入\",\"from\":{\"x\":0.0,\"y\":0.0},\"operation\":\"Gtf-SendKeys\",\"run_time\":627,\"start\":1665317807579,\"start_first\":0,\"start_last\":0,\"to\":{\"x\":0.0,\"y\":0.0}}\n10-09 20:18:22.899 I/iesqaMonitor(17845): {\"duration\":0,\"end\":1665317902898,\"ext\":\"进入直播间\",\"from\":{\"x\":717.0,\"y\":2117.5},\"operation\":\"Gtf-Tap\",\"run_time\":121,\"start\":1665317902777,\"start_first\":0,\"start_last\":0,\"to\":{\"x\":717.0,\"y\":2117.5}}\n10-09 20:18:32.063 I/iesqaMonitor(17845): {\"duration\":0,\"end\":1665317912062,\"ext\":\"第一次上划\",\"from\":{\"x\":1437.0,\"y\":2409.9},\"operation\":\"Gtf-Swipe\",\"run_time\":32,\"start\":1665317912030,\"start_first\":0,\"start_last\":0,\"to\":{\"x\":1437.0,\"y\":2409.9}}"
eps := ConvertPoints(data)
if len(eps) != 3 {
t.Fatal()
}
jsons, _ := json.Marshal(eps)
println(fmt.Sprintf("%v", string(jsons)))
}
func TestElement_Text(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
elem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/category_title"})
if err != nil {
t.Fatal(err)
}
text, err := elem.Text()
if err != nil {
t.Fatal(err)
}
t.Log(text)
}
func TestElement_GetAttribute(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
elem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/category_title"})
if err != nil {
t.Fatal(err)
}
e := ElementAttribute{}.WithName("class")
attribute, err := elem.GetAttribute(e)
if err != nil {
t.Fatal(err)
}
t.Log(attribute)
}
//func TestElement_ContentDescription(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// elem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/search"})
// if err != nil {
// t.Fatal(err)
// }
//
// name, err := elem.ContentDescription()
// if err != nil {
// t.Fatal(err)
// }
//
// t.Log(name)
//}
func TestElement_Size(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
elem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/search"})
if err != nil {
t.Fatal(err)
}
size, err := elem.Size()
if err != nil {
t.Fatal(err)
}
t.Log(size)
}
func TestElement_Rect(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
elem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/category_title"})
if err != nil {
t.Fatal(err)
}
rect, err := elem.Rect()
if err != nil {
t.Fatal(err)
}
t.Log(rect)
}
func TestElement_Screenshot(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
elem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/category_title"})
if err != nil {
t.Fatal(err)
}
screenshot, err := elem.Screenshot()
if err != nil {
t.Fatal(err)
}
t.Log(ioutil.WriteFile("/Users/hero/Desktop/e1.png", screenshot.Bytes(), 0o600))
}
func TestElement_Location(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
elem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/category_title"})
if err != nil {
t.Fatal(err)
}
location, err := elem.Location()
if err != nil {
t.Fatal(err)
}
t.Log(location)
}
func TestElement_Click(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
elem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/title"})
if err != nil {
t.Fatal(err)
}
err = elem.Click()
if err != nil {
t.Fatal(err)
}
}
func TestElement_Clear(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
elem, err := driver.FindElement(BySelector{ResourceIdID: "android:id/search_src_text"})
if err != nil {
t.Fatal(err)
}
err = elem.Clear()
if err != nil {
t.Fatal(err)
}
}
func TestElement_SendKeys(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
elem, err := driver.FindElement(BySelector{ResourceIdID: "android:id/search_src_text"})
if err != nil {
t.Fatal(err)
}
// return
// err = elem.SendKeys("abc")
err = elem.SendKeys("456")
if err != nil {
t.Fatal(err)
}
}
func TestElement_FindElements(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
parentElem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/main_content"})
if err != nil {
t.Fatal(err)
}
elements, err := parentElem.FindElements(BySelector{ResourceIdID: "com.android.settings:id/category"})
if err != nil {
t.Fatal(err)
}
t.Log(len(elements))
}
func TestElement_FindElement(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
parentElem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/main_content"})
if err != nil {
t.Fatal(err)
}
elem, err := parentElem.FindElement(BySelector{ResourceIdID: "com.android.settings:id/category_title"})
if err != nil {
t.Fatal(err)
}
t.Log(elem.Text())
}
func TestElement_Swipe(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL)
if err != nil {
t.Fatal(err)
}
elem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/category_title"})
if err != nil {
t.Fatal(err)
}
rect, err := elem.Rect()
if err != nil {
t.Fatal(err)
}
t.Log(rect)
var startX, startY, endX, endY int
startX = rect.X + rect.Width/20
startY = rect.Y + rect.Height/2
endX = startX
endY = startY - startY/2
err = elem.Swipe(startX, startY, endX, endY)
if err != nil {
t.Fatal(err)
}
}
//func TestElement_Drag(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// elements, err := driver.FindElements(BySelector{ClassName: "android.widget.TextView"})
// if err != nil {
// t.Fatal(err)
// }
//
// for i, elem := range elements {
// text, _ := elem.Text()
// t.Log(i, text)
// }
//
// rect, err := elements[0].Rect()
// if err != nil {
// t.Fatal(err)
// }
//
// // err = elements[0].Drag(300, 450, 256)
// err = elements[0].Drag(300, 450, 256)
// if err != nil {
// t.Fatal(err)
// }
//
// err = elements[0].DragTo(elements[1], 256)
// if err != nil {
// t.Fatal(err)
// }
//
// endPoint := PointF{X: float64(rect.X + rect.Width/3*2), Y: float64(rect.Y + rect.Height/2)}
// err = elements[0].DragPointF(endPoint, 256)
// if err != nil {
// t.Fatal()
// }
//}
//func TestElement_Flick(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// elem, err := driver.FindElement(BySelector{UiAutomator: "new UiSelector().text(\"提示音和通知\");"})
// if err != nil {
// t.Fatal(err)
// }
//
// err = elem.Flick(36, 20, 100)
// if err != nil {
// t.Fatal(err)
// }
//}
//func TestElement_ScrollTo(t *testing.T) {
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// // how to make it work?
// // parentElem, err := driver.FindElement(BySelector{ClassName: "android.widget.ScrollView"})
// // parentElem, err := driver.FindElement(BySelector{ResourceIdID: "com.cyanogenmod.filemanager:id/navigation_view_layout"})
// parentElem, err := driver.FindElement(BySelector{ResourceIdID: "com.android.settings:id/dashboard"})
// if err != nil {
// t.Fatal(err)
// }
//
// err = parentElem.ScrollTo(BySelector{ContentDescription: "电池"})
// if err != nil {
// t.Fatal(err)
// }
//}
//func TestElement_ScrollToElement(t *testing.T) {
// // android.widget.HorizontalScrollView
// driver, err := NewUIADriver(nil, uiaServerURL)
// if err != nil {
// t.Fatal(err)
// }
//
// // how to make it work?
// parentElem, err := driver.FindElement(BySelector{UiAutomator: "new UiSelector().resourceId(\"com.android.settings:id/dashboard\");"})
// if err != nil {
// t.Fatal(err)
// }
//
// element, err := driver.FindElement(BySelector{UiAutomator: "new UiSelector().text(\"电池\");"})
// if err != nil {
// t.Fatal(err)
// }
//
// err = parentElem.ScrollToElement(element)
// if err != nil {
// t.Fatal(err)
// }
//}