mirror of
https://github.com/httprunner/httprunner.git
synced 2026-09-05 07:26:55 +08:00
feat: input text with adb
This commit is contained in:
@@ -132,12 +132,11 @@ func (ad *adbDriver) StopCamera() (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// kill samsung shell command
|
// kill samsung shell command
|
||||||
if _, err = ad.adbClient.RunShellCommand("am", "force-stop", "com.sec.android.app.camera"); err != nil {
|
if _, err = ad.AppTerminate("com.sec.android.app.camera"); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// kill other camera (huawei mi)
|
// kill other camera (huawei mi)
|
||||||
if _, err = ad.adbClient.RunShellCommand("am", "force-stop", "com.android.camera2"); err != nil {
|
if _, err = ad.AppTerminate("com.android.camera2"); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
@@ -248,7 +247,8 @@ func (ad *adbDriver) GetPasteboard(contentType PasteboardType) (raw *bytes.Buffe
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ad *adbDriver) SendKeys(text string, options ...DataOption) (err error) {
|
func (ad *adbDriver) SendKeys(text string, options ...DataOption) (err error) {
|
||||||
err = errDriverNotImplemented
|
// adb shell input text <text>
|
||||||
|
_, err = ad.adbClient.RunShellCommand("input", "text", text)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -142,11 +142,6 @@ func (ud *uiaDriver) DeviceInfo() (deviceInfo DeviceInfo, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ud *uiaDriver) Location() (location Location, err error) {
|
|
||||||
// TODO
|
|
||||||
return location, errDriverNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ud *uiaDriver) BatteryInfo() (batteryInfo BatteryInfo, err error) {
|
func (ud *uiaDriver) BatteryInfo() (batteryInfo BatteryInfo, err error) {
|
||||||
// register(getHandler, new GetBatteryInfo("/wd/hub/session/:sessionId/appium/device/battery_info"))
|
// register(getHandler, new GetBatteryInfo("/wd/hub/session/:sessionId/appium/device/battery_info"))
|
||||||
var rawResp rawResponse
|
var rawResp rawResponse
|
||||||
@@ -178,15 +173,6 @@ func (ud *uiaDriver) WindowSize() (size Size, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ud *uiaDriver) Screen() (screen Screen, err error) {
|
|
||||||
// TODO
|
|
||||||
return screen, errDriverNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ud *uiaDriver) Scale() (scale float64, err error) {
|
|
||||||
return 1, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// PressBack simulates a short press on the BACK button.
|
// PressBack simulates a short press on the BACK button.
|
||||||
func (ud *uiaDriver) PressBack(options ...DataOption) (err error) {
|
func (ud *uiaDriver) PressBack(options ...DataOption) (err error) {
|
||||||
// register(postHandler, new PressBack("/wd/hub/session/:sessionId/back"))
|
// register(postHandler, new PressBack("/wd/hub/session/:sessionId/back"))
|
||||||
@@ -230,15 +216,6 @@ func (ud *uiaDriver) TapFloat(x, y float64, options ...DataOption) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ud *uiaDriver) DoubleTap(x, y int) error {
|
|
||||||
return ud.DoubleTapFloat(float64(x), float64(y))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ud *uiaDriver) DoubleTapFloat(x, y float64) (err error) {
|
|
||||||
// TODO
|
|
||||||
return errDriverNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ud *uiaDriver) TouchAndHold(x, y int, second ...float64) (err error) {
|
func (ud *uiaDriver) TouchAndHold(x, y int, second ...float64) (err error) {
|
||||||
return ud.TouchAndHoldFloat(float64(x), float64(y), second...)
|
return ud.TouchAndHoldFloat(float64(x), float64(y), second...)
|
||||||
}
|
}
|
||||||
@@ -307,15 +284,6 @@ func (ud *uiaDriver) SwipeFloat(fromX, fromY, toX, toY float64, options ...DataO
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ud *uiaDriver) ForceTouch(x, y int, pressure float64, second ...float64) error {
|
|
||||||
return ud.ForceTouchFloat(float64(x), float64(y), pressure, second...)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ud *uiaDriver) ForceTouchFloat(x, y, pressure float64, second ...float64) (err error) {
|
|
||||||
// TODO
|
|
||||||
return errDriverNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ud *uiaDriver) SetPasteboard(contentType PasteboardType, content string) (err error) {
|
func (ud *uiaDriver) SetPasteboard(contentType PasteboardType, content string) (err error) {
|
||||||
lbl := content
|
lbl := content
|
||||||
|
|
||||||
@@ -376,11 +344,6 @@ func (ud *uiaDriver) Input(text string, options ...DataOption) (err error) {
|
|||||||
return ud.SendKeys(text, options...)
|
return ud.SendKeys(text, options...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ud *uiaDriver) PressButton(devBtn DeviceButton) (err error) {
|
|
||||||
// TODO
|
|
||||||
return errDriverNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ud *uiaDriver) Rotation() (rotation Rotation, err error) {
|
func (ud *uiaDriver) Rotation() (rotation Rotation, err error) {
|
||||||
// register(getHandler, new GetRotation("/wd/hub/session/:sessionId/rotation"))
|
// register(getHandler, new GetRotation("/wd/hub/session/:sessionId/rotation"))
|
||||||
var rawResp rawResponse
|
var rawResp rawResponse
|
||||||
@@ -396,20 +359,7 @@ func (ud *uiaDriver) Rotation() (rotation Rotation, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ud *uiaDriver) SetRotation(rotation Rotation) (err error) {
|
|
||||||
// TODO
|
|
||||||
return errDriverNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ud *uiaDriver) Screenshot() (raw *bytes.Buffer, err error) {
|
func (ud *uiaDriver) Screenshot() (raw *bytes.Buffer, err error) {
|
||||||
// adb shell screencap -p
|
|
||||||
resp, err := ud.adbClient.RunShellCommandWithBytes(
|
|
||||||
"screencap", "-p",
|
|
||||||
)
|
|
||||||
if err == nil {
|
|
||||||
return bytes.NewBuffer(resp), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// register(getHandler, new CaptureScreenshot("/wd/hub/session/:sessionId/screenshot"))
|
// register(getHandler, new CaptureScreenshot("/wd/hub/session/:sessionId/screenshot"))
|
||||||
var rawResp rawResponse
|
var rawResp rawResponse
|
||||||
if rawResp, err = ud.httpGET("/session", ud.sessionId, "screenshot"); err != nil {
|
if rawResp, err = ud.httpGET("/session", ud.sessionId, "screenshot"); err != nil {
|
||||||
@@ -445,42 +395,3 @@ func (ud *uiaDriver) Source(srcOpt ...SourceOption) (source string, err error) {
|
|||||||
source = reply.Value
|
source = reply.Value
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ud *uiaDriver) AccessibleSource() (source string, err error) {
|
|
||||||
// TODO
|
|
||||||
return source, errDriverNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ud *uiaDriver) HealthCheck() (err error) {
|
|
||||||
// TODO
|
|
||||||
return errDriverNotImplemented
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ud *uiaDriver) GetAppiumSettings() (settings map[string]interface{}, err error) {
|
|
||||||
// register(getHandler, new GetSettings("/wd/hub/session/:sessionId/appium/settings"))
|
|
||||||
var rawResp rawResponse
|
|
||||||
if rawResp, err = ud.httpGET("/session", ud.sessionId, "appium/settings"); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
reply := new(struct{ Value map[string]interface{} })
|
|
||||||
if err = json.Unmarshal(rawResp, reply); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
settings = reply.Value
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ud *uiaDriver) SetAppiumSettings(settings map[string]interface{}) (ret map[string]interface{}, err error) {
|
|
||||||
data := map[string]interface{}{
|
|
||||||
"settings": settings,
|
|
||||||
}
|
|
||||||
// register(postHandler, new UpdateSettings("/wd/hub/session/:sessionId/appium/settings"))
|
|
||||||
_, err = ud.httpPOST(data, "/session", ud.sessionId, "appium/settings")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ud *uiaDriver) IsHealthy() (healthy bool, err error) {
|
|
||||||
// TODO
|
|
||||||
return healthy, errDriverNotImplemented
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user