mirror of
https://github.com/httprunner/httprunner.git
synced 2026-09-07 00:17:37 +08:00
change: add capabilities for driver
This commit is contained in:
@@ -106,7 +106,7 @@ func (dev *AndroidDevice) UUID() string {
|
|||||||
return dev.SerialNumber
|
return dev.SerialNumber
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dev *AndroidDevice) NewDriver() (driverExt *DriverExt, err error) {
|
func (dev *AndroidDevice) NewDriver(capabilities Capabilities) (driverExt *DriverExt, err error) {
|
||||||
var deviceOptions []AndroidDeviceOption
|
var deviceOptions []AndroidDeviceOption
|
||||||
if dev.SerialNumber != "" {
|
if dev.SerialNumber != "" {
|
||||||
deviceOptions = append(deviceOptions, WithSerialNumber(dev.SerialNumber))
|
deviceOptions = append(deviceOptions, WithSerialNumber(dev.SerialNumber))
|
||||||
@@ -122,11 +122,11 @@ func (dev *AndroidDevice) NewDriver() (driverExt *DriverExt, err error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return androidDevice.InitUIAClient()
|
return androidDevice.initUIAClient(capabilities)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dev *AndroidDevice) InitUIAClient() (*DriverExt, error) {
|
func (dev *AndroidDevice) initUIAClient(capabilities Capabilities) (*DriverExt, error) {
|
||||||
driver, err := dev.NewUSBDriver(nil)
|
driver, err := dev.NewUSBDriver(capabilities)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "failed to init UIA driver")
|
return nil, errors.Wrap(err, "failed to init UIA driver")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,10 @@ func TestIOSDemo(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
driverExt, err := device.InitWDAClient()
|
|
||||||
|
capabilities := uixt.NewCapabilities()
|
||||||
|
capabilities.WithDefaultAlertAction(uixt.AlertActionAccept) // or uixt.AlertActionDismiss
|
||||||
|
driverExt, err := device.NewDriver(capabilities)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,9 +7,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestDriverExt_Drag(t *testing.T) {
|
func TestDriverExt_Drag(t *testing.T) {
|
||||||
device, err := NewIOSDevice()
|
driverExt, err := iosDevice.NewDriver(nil)
|
||||||
checkErr(t, err)
|
|
||||||
driverExt, err := device.InitWDAClient()
|
|
||||||
checkErr(t, err)
|
checkErr(t, err)
|
||||||
|
|
||||||
pathSearch := "/Users/hero/Documents/temp/2020-05/opencv/IMG_map.png"
|
pathSearch := "/Users/hero/Documents/temp/2020-05/opencv/IMG_map.png"
|
||||||
|
|||||||
@@ -15,9 +15,7 @@ func TestDriverExt_GesturePassword(t *testing.T) {
|
|||||||
password[i], _ = strconv.Atoi(split[i])
|
password[i], _ = strconv.Atoi(split[i])
|
||||||
}
|
}
|
||||||
|
|
||||||
device, err := NewIOSDevice()
|
driverExt, err := iosDevice.NewDriver(nil)
|
||||||
checkErr(t, err)
|
|
||||||
driverExt, err := device.InitWDAClient()
|
|
||||||
checkErr(t, err)
|
checkErr(t, err)
|
||||||
|
|
||||||
pathSearch := "/Users/hero/Documents/temp/2020-05/opencv/IMG_5.png"
|
pathSearch := "/Users/hero/Documents/temp/2020-05/opencv/IMG_5.png"
|
||||||
|
|||||||
@@ -802,7 +802,7 @@ func WithFrequency(frequency int) DataOption {
|
|||||||
// current implemeted device: IOSDevice, AndroidDevice
|
// current implemeted device: IOSDevice, AndroidDevice
|
||||||
type Device interface {
|
type Device interface {
|
||||||
UUID() string
|
UUID() string
|
||||||
NewDriver() (driverExt *DriverExt, err error)
|
NewDriver(capabilities Capabilities) (driverExt *DriverExt, err error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// WebDriver defines methods supported by WebDriver drivers.
|
// WebDriver defines methods supported by WebDriver drivers.
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ func (dev *IOSDevice) UUID() string {
|
|||||||
return dev.UDID
|
return dev.UDID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dev *IOSDevice) NewDriver() (driverExt *DriverExt, err error) {
|
func (dev *IOSDevice) NewDriver(capabilities Capabilities) (driverExt *DriverExt, err error) {
|
||||||
var deviceOptions []IOSDeviceOption
|
var deviceOptions []IOSDeviceOption
|
||||||
if dev.UDID != "" {
|
if dev.UDID != "" {
|
||||||
deviceOptions = append(deviceOptions, WithUDID(dev.UDID))
|
deviceOptions = append(deviceOptions, WithUDID(dev.UDID))
|
||||||
@@ -156,15 +156,17 @@ func (dev *IOSDevice) NewDriver() (driverExt *DriverExt, err error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return iosDevice.InitWDAClient()
|
return iosDevice.initWDAClient(capabilities)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dev *IOSDevice) InitWDAClient() (driverExt *DriverExt, err error) {
|
func (dev *IOSDevice) initWDAClient(capabilities Capabilities) (driverExt *DriverExt, err error) {
|
||||||
// init WDA driver
|
// init WDA driver
|
||||||
capabilities := NewCapabilities()
|
if capabilities == nil {
|
||||||
capabilities.WithDefaultAlertAction(AlertActionAccept)
|
capabilities = NewCapabilities()
|
||||||
var driver WebDriver
|
capabilities.WithDefaultAlertAction(AlertActionAccept)
|
||||||
|
}
|
||||||
|
|
||||||
|
var driver WebDriver
|
||||||
if env.WDA_USB_DRIVER == "" {
|
if env.WDA_USB_DRIVER == "" {
|
||||||
// default use http driver
|
// default use http driver
|
||||||
driver, err = dev.NewHTTPDriver(capabilities)
|
driver, err = dev.NewHTTPDriver(capabilities)
|
||||||
|
|||||||
@@ -7,9 +7,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestDriverExtOCR(t *testing.T) {
|
func TestDriverExtOCR(t *testing.T) {
|
||||||
device, err := NewIOSDevice()
|
driverExt, err := iosDevice.NewDriver(nil)
|
||||||
checkErr(t, err)
|
|
||||||
driverExt, err := device.InitWDAClient()
|
|
||||||
checkErr(t, err)
|
checkErr(t, err)
|
||||||
|
|
||||||
x, y, width, height, err := driverExt.FindTextByOCR("抖音")
|
x, y, width, height, err := driverExt.FindTextByOCR("抖音")
|
||||||
|
|||||||
@@ -7,9 +7,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestSwipeUntil(t *testing.T) {
|
func TestSwipeUntil(t *testing.T) {
|
||||||
device, err := NewIOSDevice()
|
driverExt, err := iosDevice.NewDriver(nil)
|
||||||
checkErr(t, err)
|
|
||||||
driverExt, err := device.InitWDAClient()
|
|
||||||
checkErr(t, err)
|
checkErr(t, err)
|
||||||
|
|
||||||
var point PointF
|
var point PointF
|
||||||
|
|||||||
+10
-12
@@ -6,10 +6,14 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var iosDevice *IOSDevice
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
iosDevice, _ = NewIOSDevice()
|
||||||
|
}
|
||||||
|
|
||||||
func TestDriverExt_TapWithNumber(t *testing.T) {
|
func TestDriverExt_TapWithNumber(t *testing.T) {
|
||||||
device, err := NewIOSDevice()
|
driverExt, err := iosDevice.NewDriver(nil)
|
||||||
checkErr(t, err)
|
|
||||||
driverExt, err := device.InitWDAClient()
|
|
||||||
checkErr(t, err)
|
checkErr(t, err)
|
||||||
|
|
||||||
pathSearch := "/Users/hero/Documents/temp/2020-05/opencv/flag7.png"
|
pathSearch := "/Users/hero/Documents/temp/2020-05/opencv/flag7.png"
|
||||||
@@ -22,9 +26,7 @@ func TestDriverExt_TapWithNumber(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestDriverExt_TapXY(t *testing.T) {
|
func TestDriverExt_TapXY(t *testing.T) {
|
||||||
device, err := NewIOSDevice()
|
driverExt, err := iosDevice.NewDriver(nil)
|
||||||
checkErr(t, err)
|
|
||||||
driverExt, err := device.InitWDAClient()
|
|
||||||
checkErr(t, err)
|
checkErr(t, err)
|
||||||
|
|
||||||
err = driverExt.TapXY(0.4, 0.5, "")
|
err = driverExt.TapXY(0.4, 0.5, "")
|
||||||
@@ -32,9 +34,7 @@ func TestDriverExt_TapXY(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestDriverExt_TapAbsXY(t *testing.T) {
|
func TestDriverExt_TapAbsXY(t *testing.T) {
|
||||||
device, err := NewIOSDevice()
|
driverExt, err := iosDevice.NewDriver(nil)
|
||||||
checkErr(t, err)
|
|
||||||
driverExt, err := device.InitWDAClient()
|
|
||||||
checkErr(t, err)
|
checkErr(t, err)
|
||||||
|
|
||||||
err = driverExt.TapAbsXY(100, 300, "")
|
err = driverExt.TapAbsXY(100, 300, "")
|
||||||
@@ -42,9 +42,7 @@ func TestDriverExt_TapAbsXY(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestDriverExt_TapWithOCR(t *testing.T) {
|
func TestDriverExt_TapWithOCR(t *testing.T) {
|
||||||
device, err := NewIOSDevice()
|
driverExt, err := iosDevice.NewDriver(nil)
|
||||||
checkErr(t, err)
|
|
||||||
driverExt, err := device.InitWDAClient()
|
|
||||||
checkErr(t, err)
|
checkErr(t, err)
|
||||||
|
|
||||||
// 需要点击文字上方的图标
|
// 需要点击文字上方的图标
|
||||||
|
|||||||
@@ -7,9 +7,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestDriverExt_ForceTouch(t *testing.T) {
|
func TestDriverExt_ForceTouch(t *testing.T) {
|
||||||
device, err := NewIOSDevice()
|
driverExt, err := iosDevice.NewDriver(nil)
|
||||||
checkErr(t, err)
|
|
||||||
driverExt, err := device.InitWDAClient()
|
|
||||||
checkErr(t, err)
|
checkErr(t, err)
|
||||||
|
|
||||||
pathSearch := "/Users/hero/Documents/temp/2020-05/opencv/IMG_ft.png"
|
pathSearch := "/Users/hero/Documents/temp/2020-05/opencv/IMG_ft.png"
|
||||||
@@ -25,9 +23,7 @@ func TestDriverExt_ForceTouch(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestDriverExt_TouchAndHold(t *testing.T) {
|
func TestDriverExt_TouchAndHold(t *testing.T) {
|
||||||
device, err := NewIOSDevice()
|
driverExt, err := iosDevice.NewDriver(nil)
|
||||||
checkErr(t, err)
|
|
||||||
driverExt, err := device.InitWDAClient()
|
|
||||||
checkErr(t, err)
|
checkErr(t, err)
|
||||||
|
|
||||||
pathSearch := "/Users/hero/Documents/temp/2020-05/opencv/IMG_ft.png"
|
pathSearch := "/Users/hero/Documents/temp/2020-05/opencv/IMG_ft.png"
|
||||||
|
|||||||
+1
-1
@@ -503,7 +503,7 @@ func (r *HRPRunner) initUIClient(device uixt.Device) (client *uixt.DriverExt, er
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
client, err = device.NewDriver()
|
client, err = device.NewDriver(nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user