mirror of
https://github.com/httprunner/httprunner.git
synced 2026-06-08 17:29:34 +08:00
change: swipe to tap app, set offset to 0,-100
This commit is contained in:
@@ -1 +1 @@
|
|||||||
v5.0.0-250701
|
v5.0.0-250702
|
||||||
|
|||||||
@@ -98,9 +98,6 @@ func (dExt *XTDriver) SwipeToTapTexts(texts []string, opts ...option.ActionOptio
|
|||||||
|
|
||||||
log.Info().Strs("texts", texts).Msg("swipe to tap texts")
|
log.Info().Strs("texts", texts).Msg("swipe to tap texts")
|
||||||
opts = append(opts, option.WithMatchOne(true), option.WithRegex(true))
|
opts = append(opts, option.WithMatchOne(true), option.WithRegex(true))
|
||||||
actionOptions := option.NewActionOptions(opts...)
|
|
||||||
actionOptions.Identifier = ""
|
|
||||||
optionsWithoutIdentifier := actionOptions.Options()
|
|
||||||
var point ai.PointF
|
var point ai.PointF
|
||||||
findTexts := func(d *XTDriver) error {
|
findTexts := func(d *XTDriver) error {
|
||||||
var err error
|
var err error
|
||||||
@@ -116,7 +113,7 @@ func (dExt *XTDriver) SwipeToTapTexts(texts []string, opts ...option.ActionOptio
|
|||||||
}
|
}
|
||||||
|
|
||||||
points, err := screenResult.Texts.FindTexts(texts,
|
points, err := screenResult.Texts.FindTexts(texts,
|
||||||
convertToAbsoluteScope(dExt.IDriver, optionsWithoutIdentifier...)...)
|
convertToAbsoluteScope(dExt.IDriver, opts...)...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().Err(err).Strs("texts", texts).Msg("find texts failed")
|
log.Error().Err(err).Strs("texts", texts).Msg("find texts failed")
|
||||||
return err
|
return err
|
||||||
@@ -132,8 +129,8 @@ func (dExt *XTDriver) SwipeToTapTexts(texts []string, opts ...option.ActionOptio
|
|||||||
return d.TapAbsXY(point.X, point.Y, opts...)
|
return d.TapAbsXY(point.X, point.Y, opts...)
|
||||||
}
|
}
|
||||||
|
|
||||||
findAction := prepareSwipeAction(dExt, nil, optionsWithoutIdentifier...)
|
findAction := prepareSwipeAction(dExt, nil, opts...)
|
||||||
return dExt.LoopUntil(findAction, findTexts, foundTextAction, optionsWithoutIdentifier...)
|
return dExt.LoopUntil(findAction, findTexts, foundTextAction, opts...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dExt *XTDriver) SwipeToTapApp(appName string, opts ...option.ActionOption) error {
|
func (dExt *XTDriver) SwipeToTapApp(appName string, opts ...option.ActionOption) error {
|
||||||
@@ -160,7 +157,7 @@ func (dExt *XTDriver) SwipeToTapApp(appName string, opts ...option.ActionOption)
|
|||||||
actionOptions := option.NewActionOptions(opts...)
|
actionOptions := option.NewActionOptions(opts...)
|
||||||
// tap app icon above the text
|
// tap app icon above the text
|
||||||
if len(actionOptions.TapOffset) == 0 {
|
if len(actionOptions.TapOffset) == 0 {
|
||||||
opts = append(opts, option.WithTapOffset(0, -25))
|
opts = append(opts, option.WithTapOffset(0, -100))
|
||||||
}
|
}
|
||||||
// set default swipe interval to 1 second
|
// set default swipe interval to 1 second
|
||||||
if builtin.IsZeroFloat64(actionOptions.Interval) {
|
if builtin.IsZeroFloat64(actionOptions.Interval) {
|
||||||
|
|||||||
@@ -9,9 +9,10 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/httprunner/httprunner/v5/uixt/option"
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
|
"github.com/httprunner/httprunner/v5/uixt/option"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestDriverExt_NewMethod1(t *testing.T) {
|
func TestDriverExt_NewMethod1(t *testing.T) {
|
||||||
@@ -142,7 +143,7 @@ func TestDriverExt_prepareSwipeAction(t *testing.T) {
|
|||||||
|
|
||||||
func TestDriverExt_SwipeToTapApp(t *testing.T) {
|
func TestDriverExt_SwipeToTapApp(t *testing.T) {
|
||||||
driver := setupDriverExt(t)
|
driver := setupDriverExt(t)
|
||||||
err := driver.SwipeToTapApp("抖音")
|
err := driver.SwipeToTapApp("抖音", option.WithPreMarkOperation(true))
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -319,19 +319,6 @@ func (t *ToolSwipeToTapApp) Implement() server.ToolHandlerFunc {
|
|||||||
// Build action options from request structure
|
// Build action options from request structure
|
||||||
opts := unifiedReq.Options()
|
opts := unifiedReq.Options()
|
||||||
|
|
||||||
// Add boolean options
|
|
||||||
if unifiedReq.IgnoreNotFoundError {
|
|
||||||
opts = append(opts, option.WithIgnoreNotFoundError(true))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add numeric options
|
|
||||||
if unifiedReq.MaxRetryTimes > 0 {
|
|
||||||
opts = append(opts, option.WithMaxRetryTimes(unifiedReq.MaxRetryTimes))
|
|
||||||
}
|
|
||||||
if unifiedReq.Index > 0 {
|
|
||||||
opts = append(opts, option.WithIndex(unifiedReq.Index))
|
|
||||||
}
|
|
||||||
|
|
||||||
// Swipe to tap app action logic
|
// Swipe to tap app action logic
|
||||||
err = driverExt.SwipeToTapApp(unifiedReq.AppName, opts...)
|
err = driverExt.SwipeToTapApp(unifiedReq.AppName, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user