gpt4 book ai didi

android - 如何使用appium for iOS在移动设备屏幕上进行圆形手势操作

转载 作者:行者123 更新时间:2023-11-29 01:43:22 24 4
gpt4 key购买 nike

我正在尝试使用 appium 在移动设备屏幕上执行圆圈手势操作。我尝试使用 swipe()press("args").moveTo("args"),还尝试使用 javascript 执行程序方法。但无法在 iOS 的手机屏幕上执行圆圈手势操作。

在从第一点到最后一点执行这个 Action 的时候需要在中间不松手的情况下执行这个画圈手势操作。

有没有AutoIT or Sikuli之类的工具可以在移动设备上执行上述手势操作,并且可以在Mac中使用java在appium脚本中执行。

最佳答案

对于那些寻求快速解决方案的人,这里是我基于该线程中其他评论的实现:

public void SwipeArc(double centerX, double centerY, double radius, double startDegree, double degrees, int steps)
{
//interpolate along the circumference of the circle
double angle = degrees / steps;
double prevX = centerX + radius * Math.Cos(startDegree * Math.PI / 180F); ;
double prevY = centerY + radius * Math.Sin(startDegree * Math.PI / 180F);

TouchAction circleTouch = new TouchAction(_Driver); //Your appium driver object here
circleTouch.Press(prevX, prevY);

for(int i = 1; i <= steps; ++i)
{
double newX = centerX + radius * Math.Cos((startDegree + angle * i) * Math.PI / 180F);
double newY = centerY + radius * Math.Sin((startDegree + angle * i) * Math.PI / 180F);

double difX = newX - prevX;
double difY = newY - prevY;
circleTouch.MoveTo(difX, difY);

prevX = newX;
prevY = newY;
}

circleTouch.Release();
circleTouch.Perform();
}

此解决方案假定 Appium 服务器期望每个步骤的相对坐标,我不确定是否所有 Appium 服务器版本都是这种情况。

关于android - 如何使用appium for iOS在移动设备屏幕上进行圆形手势操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32174345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com