refactor: gadb PushFile pushes localfile path

This commit is contained in:
lilong.129
2024-10-22 22:46:59 +08:00
parent d86897c249
commit e176a55cc8
4 changed files with 15 additions and 10 deletions

View File

@@ -1 +1 @@
v5.0.0-beta-2410161545
v5.0.0-beta-2410222247

View File

@@ -508,16 +508,22 @@ func (d *Device) List(remotePath string) (devFileInfos []DeviceFileInfo, err err
return
}
func (d *Device) PushFile(local *os.File, remotePath string, modification ...time.Time) (err error) {
func (d *Device) PushFile(localPath, remotePath string, modification ...time.Time) (err error) {
localFile, err := os.Open(localPath)
if err != nil {
return err
}
defer localFile.Close()
if len(modification) == 0 {
var stat os.FileInfo
if stat, err = local.Stat(); err != nil {
if stat, err = localFile.Stat(); err != nil {
return err
}
modification = []time.Time{stat.ModTime()}
}
return d.Push(local, remotePath, modification[0], DefaultFileMode)
return d.Push(localFile, remotePath, modification[0], DefaultFileMode)
}
func (d *Device) Push(source io.Reader, remotePath string, modification time.Time, mode ...os.FileMode) (err error) {

View File

@@ -246,8 +246,8 @@ func TestDevice_Push(t *testing.T) {
setupDevices(t)
for _, dev := range devices {
file, _ := os.Open("/Users/hero/Documents/temp/MuMu共享文件夹/test.txt")
err := dev.PushFile(file, "/sdcard/Download/push.txt", time.Now())
localPath := "test.txt"
err := dev.PushFile(localPath, "/sdcard/Download/push.txt", time.Now())
if err != nil {
t.Fatal(err)
}

View File

@@ -3,6 +3,7 @@ package main
import (
"log"
"os"
"path/filepath"
"strings"
"github.com/httprunner/httprunner/v4/hrp/pkg/gadb"
@@ -22,13 +23,12 @@ func main() {
dev := devices[0]
userHomeDir, _ := os.UserHomeDir()
apk, err := os.Open(userHomeDir + "/Desktop/xuexi_android_10002068.apk")
checkErr(err)
localPath := filepath.Join(userHomeDir, "xxx.apk")
log.Println("starting to push apk")
remotePath := "/data/local/tmp/xuexi_android_10002068.apk"
err = dev.PushFile(apk, remotePath)
err = dev.PushFile(localPath, remotePath)
checkErr(err, "adb push")
log.Println("push completed")
@@ -42,7 +42,6 @@ func main() {
}
log.Println("install completed")
}
func checkErr(err error, msg ...string) {