change: swipe to tap app, set offset to 0,-100

This commit is contained in:
lilong.129
2025-07-02 16:39:23 +08:00
parent d09fdb3b04
commit 3171cb8aaf
4 changed files with 8 additions and 23 deletions

View File

@@ -1 +1 @@
v5.0.0-250701 v5.0.0-250702

View File

@@ -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) {

View File

@@ -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)
} }

View File

@@ -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 {