change: simplify tests

This commit is contained in:
lilong.129
2023-06-23 13:59:48 +08:00
parent 65cfb86ac5
commit 0c8d86639b
2 changed files with 150 additions and 298 deletions
+30 -58
View File
@@ -7,11 +7,18 @@ import (
"testing" "testing"
) )
func TestClient_ServerVersion(t *testing.T) { var adbClient Client
adbClient, err := NewClient()
func setupClient(t *testing.T) {
var err error
adbClient, err = NewClient()
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
}
func TestClient_ServerVersion(t *testing.T) {
setupClient(t)
adbServerVersion, err := adbClient.ServerVersion() adbServerVersion, err := adbClient.ServerVersion()
if err != nil { if err != nil {
@@ -22,10 +29,7 @@ func TestClient_ServerVersion(t *testing.T) {
} }
func TestClient_DeviceSerialList(t *testing.T) { func TestClient_DeviceSerialList(t *testing.T) {
adbClient, err := NewClient() setupClient(t)
if err != nil {
t.Fatal(err)
}
serials, err := adbClient.DeviceSerialList() serials, err := adbClient.DeviceSerialList()
if err != nil { if err != nil {
@@ -38,15 +42,7 @@ func TestClient_DeviceSerialList(t *testing.T) {
} }
func TestClient_DeviceList(t *testing.T) { func TestClient_DeviceList(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList()
if err != nil {
t.Fatal(err)
}
for i := range devices { for i := range devices {
t.Log(devices[i].serial, devices[i].DeviceInfo()) t.Log(devices[i].serial, devices[i].DeviceInfo())
@@ -54,10 +50,7 @@ func TestClient_DeviceList(t *testing.T) {
} }
func TestClient_ForwardList(t *testing.T) { func TestClient_ForwardList(t *testing.T) {
adbClient, err := NewClient() setupClient(t)
if err != nil {
t.Fatal(err)
}
deviceForwardList, err := adbClient.ForwardList() deviceForwardList, err := adbClient.ForwardList()
if err != nil { if err != nil {
@@ -70,80 +63,59 @@ func TestClient_ForwardList(t *testing.T) {
} }
func TestClient_ForwardKillAll(t *testing.T) { func TestClient_ForwardKillAll(t *testing.T) {
adbClient, err := NewClient() setupClient(t)
if err != nil {
t.Fatal(err)
}
err = adbClient.ForwardKillAll() err := adbClient.ForwardKillAll()
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
} }
func TestClient_Connect(t *testing.T) { func TestClient_Connect(t *testing.T) {
adbClient, err := NewClient() setupClient(t)
if err != nil {
t.Fatal(err)
}
err = adbClient.Connect("192.168.1.28") err := adbClient.Connect("192.168.1.28")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
} }
func TestClient_Disconnect(t *testing.T) { func TestClient_Disconnect(t *testing.T) {
adbClient, err := NewClient() setupClient(t)
if err != nil {
t.Fatal(err)
}
err = adbClient.Disconnect("192.168.1.28") err := adbClient.Disconnect("192.168.1.28")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
} }
func TestClient_DisconnectAll(t *testing.T) { func TestClient_DisconnectAll(t *testing.T) {
adbClient, err := NewClient() setupClient(t)
if err != nil {
t.Fatal(err)
}
err = adbClient.DisconnectAll() err := adbClient.DisconnectAll()
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
} }
func TestClient_KillServer(t *testing.T) { func TestClient_KillServer(t *testing.T) {
adbClient, err := NewClient() setupClient(t)
if err != nil {
t.Fatal(err)
}
err = adbClient.KillServer() err := adbClient.KillServer()
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
} }
func TestScreenCap(t *testing.T) { func TestScreenCap(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
dl, err := adbClient.DeviceList() for _, d := range devices {
if err != nil { res, err := d.ScreenCap()
t.Error(err) if err != nil {
t.Error(err)
}
t.Log(len(res))
ioutil.WriteFile("/tmp/1.png", res, 0o644)
} }
d := dl[0]
res, err := d.ScreenCap()
if err != nil {
t.Error(err)
}
t.Log(len(res))
ioutil.WriteFile("/tmp/1.png", res, 0o644)
} }
+120 -240
View File
@@ -12,16 +12,19 @@ import (
"time" "time"
) )
func TestDevice_State(t *testing.T) { var devices []*Device
adbClient, err := NewClient()
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList() func setupDevices(t *testing.T) {
var err error
setupClient(t)
devices, err = adbClient.DeviceList()
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
}
func TestDevice_State(t *testing.T) {
setupDevices(t)
for i := range devices { for i := range devices {
dev := devices[i] dev := devices[i]
@@ -30,19 +33,17 @@ func TestDevice_State(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
t.Log(dev.Serial(), state) t.Log(dev.Serial(), state)
resp, err := dev.RunShellCommand("ls")
if err != nil {
t.Fatal(err)
}
t.Log(string(resp))
} }
} }
func TestDevice_DevicePath(t *testing.T) { func TestDevice_DevicePath(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList()
if err != nil {
t.Fatal(err)
}
for i := range devices { for i := range devices {
dev := devices[i] dev := devices[i]
@@ -55,15 +56,7 @@ func TestDevice_DevicePath(t *testing.T) {
} }
func TestDevice_Product(t *testing.T) { func TestDevice_Product(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList()
if err != nil {
t.Fatal(err)
}
for i := range devices { for i := range devices {
dev := devices[i] dev := devices[i]
@@ -73,15 +66,7 @@ func TestDevice_Product(t *testing.T) {
} }
func TestDevice_Model(t *testing.T) { func TestDevice_Model(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList()
if err != nil {
t.Fatal(err)
}
for i := range devices { for i := range devices {
dev := devices[i] dev := devices[i]
@@ -90,15 +75,7 @@ func TestDevice_Model(t *testing.T) {
} }
func TestDevice_Usb(t *testing.T) { func TestDevice_Usb(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList()
if err != nil {
t.Fatal(err)
}
for i := range devices { for i := range devices {
dev := devices[i] dev := devices[i]
@@ -107,15 +84,7 @@ func TestDevice_Usb(t *testing.T) {
} }
func TestDevice_DeviceInfo(t *testing.T) { func TestDevice_DeviceInfo(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList()
if err != nil {
t.Fatal(err)
}
for i := range devices { for i := range devices {
dev := devices[i] dev := devices[i]
@@ -124,74 +93,54 @@ func TestDevice_DeviceInfo(t *testing.T) {
} }
func TestDevice_Forward(t *testing.T) { func TestDevice_Forward(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList() for _, device := range devices {
if err != nil { localPort := 61000
t.Fatal(err) err := device.Forward(localPort, 6790)
} if err != nil {
t.Fatal(err)
}
localPort := 61000 err = device.ForwardKill(localPort)
err = devices[0].Forward(localPort, 6790) if err != nil {
if err != nil { t.Fatal(err)
t.Fatal(err) }
}
err = devices[0].ForwardKill(localPort)
if err != nil {
t.Fatal(err)
} }
} }
func TestDevice_ReverseForward(t *testing.T) { func TestDevice_ReverseForward(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList() for _, device := range devices {
if err != nil { localPort := 5005
t.Fatal(err) err := device.ReverseForward(localPort, "localabstract:scrcpy")
} if err != nil {
t.Fatal(err)
}
err = device.ReverseForward(localPort, "localabstract:scrcpy1")
if err != nil {
t.Fatal(err)
}
localPort := 5005 _, err = device.ReverseForwardList()
err = devices[0].ReverseForward(localPort, "localabstract:scrcpy") if err != nil {
if err != nil { t.Fatal(err)
t.Fatal(err) }
}
err = devices[0].ReverseForward(localPort, "localabstract:scrcpy1")
if err != nil {
t.Fatal(err)
}
_, err = devices[0].ReverseForwardList() err = device.ReverseForwardKill("localabstract:scrcpy1")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
err = device.ReverseForwardKillAll()
err = devices[0].ReverseForwardKill("localabstract:scrcpy1") if err != nil {
if err != nil { t.Fatal(err)
t.Fatal(err) }
}
err = devices[0].ReverseForwardKillAll()
if err != nil {
t.Fatal(err)
} }
} }
func TestDevice_ForwardList(t *testing.T) { func TestDevice_ForwardList(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList()
if err != nil {
t.Fatal(err)
}
for i := range devices { for i := range devices {
dev := devices[i] dev := devices[i]
@@ -204,32 +153,18 @@ func TestDevice_ForwardList(t *testing.T) {
} }
func TestDevice_ForwardKill(t *testing.T) { func TestDevice_ForwardKill(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList() for _, device := range devices {
if err != nil { err := device.ForwardKill(6790)
t.Fatal(err) if err != nil {
} t.Fatal(err)
}
err = devices[0].ForwardKill(6790)
if err != nil {
t.Fatal(err)
} }
} }
func TestDevice_RunShellCommand(t *testing.T) { func TestDevice_RunShellCommand(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList()
if err != nil {
t.Fatal(err)
}
// for i := range devices { // for i := range devices {
// dev := devices[i] // dev := devices[i]
@@ -243,112 +178,75 @@ func TestDevice_RunShellCommand(t *testing.T) {
// t.Log("\n"+dev.serial, cmdOutput) // t.Log("\n"+dev.serial, cmdOutput)
// } // }
dev := devices[len(devices)-1] for _, dev := range devices {
dev = devices[0] // cmdOutput, err := dev.RunShellCommand("monkey", "-p", "tv.danmaku.bili", "-c", "android.intent.category.LAUNCHER", "1")
cmdOutput, err := dev.RunShellCommand("ls /sdcard")
// cmdOutput, err := dev.RunShellCommand("monkey", "-p", "tv.danmaku.bili", "-c", "android.intent.category.LAUNCHER", "1") // cmdOutput, err := dev.RunShellCommandWithBytes("screencap -p")
cmdOutput, err := dev.RunShellCommand("ls /sdcard") if err != nil {
// cmdOutput, err := dev.RunShellCommandWithBytes("screencap -p") t.Fatal(dev.serial, err)
if err != nil { }
t.Fatal(dev.serial, err) t.Log("\n⬇️"+dev.serial+"⬇️\n", cmdOutput)
} }
t.Log("\n⬇️"+dev.serial+"⬇️\n", cmdOutput)
} }
func TestDevice_EnableAdbOverTCP(t *testing.T) { func TestDevice_EnableAdbOverTCP(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList() for _, dev := range devices {
if err != nil { err := dev.EnableAdbOverTCP()
t.Fatal(err) if err != nil {
} t.Fatal(err)
}
dev := devices[len(devices)-1]
dev = devices[0]
err = dev.EnableAdbOverTCP()
if err != nil {
t.Fatal(err)
} }
} }
func TestDevice_List(t *testing.T) { func TestDevice_List(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList() for _, dev := range devices {
if err != nil { // fileEntries, err := dev.List("/sdcard")
t.Fatal(err) fileEntries, err := dev.List("/sdcard/Download")
} if err != nil {
t.Fatal(err)
}
dev := devices[len(devices)-1] for i := range fileEntries {
dev = devices[0] t.Log(fileEntries[i].Name, "\t", fileEntries[i].IsDir())
}
// fileEntries, err := dev.List("/sdcard")
fileEntries, err := dev.List("/sdcard/Download")
if err != nil {
t.Fatal(err)
}
for i := range fileEntries {
t.Log(fileEntries[i].Name, "\t", fileEntries[i].IsDir())
} }
} }
func TestDevice_Push(t *testing.T) { func TestDevice_Push(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList() for _, dev := range devices {
if err != nil { file, _ := os.Open("/Users/hero/Documents/temp/MuMu共享文件夹/test.txt")
t.Fatal(err) err := dev.PushFile(file, "/sdcard/Download/push.txt", time.Now())
} if err != nil {
t.Fatal(err)
}
dev := devices[len(devices)-1] err = dev.Push(strings.NewReader("world"), "/sdcard/Download/hello.txt", time.Now())
dev = devices[0] if err != nil {
t.Fatal(err)
file, _ := os.Open("/Users/hero/Documents/temp/MuMu共享文件夹/test.txt") }
err = dev.PushFile(file, "/sdcard/Download/push.txt", time.Now())
if err != nil {
t.Fatal(err)
}
err = dev.Push(strings.NewReader("world"), "/sdcard/Download/hello.txt", time.Now())
if err != nil {
t.Fatal(err)
} }
} }
func TestDevice_Pull(t *testing.T) { func TestDevice_Pull(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err)
}
devices, err := adbClient.DeviceList() for _, dev := range devices {
if err != nil { buffer := bytes.NewBufferString("")
t.Fatal(err) err := dev.Pull("/sdcard/Download/hello.txt", buffer)
} if err != nil {
t.Fatal(err)
}
dev := devices[len(devices)-1] userHomeDir, _ := os.UserHomeDir()
dev = devices[0] if err = ioutil.WriteFile(userHomeDir+"/Desktop/hello.txt", buffer.Bytes(), DefaultFileMode); err != nil {
t.Fatal(err)
buffer := bytes.NewBufferString("") }
err = dev.Pull("/sdcard/Download/hello.txt", buffer)
if err != nil {
t.Fatal(err)
}
userHomeDir, _ := os.UserHomeDir()
if err = ioutil.WriteFile(userHomeDir+"/Desktop/hello.txt", buffer.Bytes(), DefaultFileMode); err != nil {
t.Fatal(err)
} }
} }
@@ -405,40 +303,22 @@ func TestDevice_RunShellCommandBackgroundWithBytes(t *testing.T) {
} }
func TestDevice_InstallAPK(t *testing.T) { func TestDevice_InstallAPK(t *testing.T) {
setupDevices(t)
apk, _ := os.Open("test.apk") apk, _ := os.Open("test.apk")
adbClient, err := NewClient() for _, dev := range devices {
if err != nil { res, err := dev.InstallAPK(apk)
t.Fatal(err) if err != nil {
t.Fatal(err)
}
t.Log(res)
} }
devices, err := adbClient.DeviceList()
if err != nil {
t.Fatal(err)
}
dev := devices[len(devices)-1]
dev = devices[0]
res, err := dev.InstallAPK(apk)
if err != nil {
t.Fatal(err)
}
t.Log(res)
} }
func TestDevice_HasFeature(t *testing.T) { func TestDevice_HasFeature(t *testing.T) {
adbClient, err := NewClient() setupDevices(t)
if err != nil {
t.Fatal(err) for _, dev := range devices {
t.Log(dev.GetFeatures())
} }
devices, err := adbClient.DeviceList()
if err != nil {
t.Fatal(err)
}
dev := devices[len(devices)-1]
dev = devices[0]
t.Log(dev.GetFeatures())
} }