如何验证移动设备上滚动触摸动作的准确性?

How to validate the accuracy of touch actions for scrolling on a mobile device?

我的方案是滚动到页面中间的某个位置,滚动到一个动态元素。 现在,当我使用 touchAction 时:-

TouchAction tc2=touchAction.press(PointOption.point(startX, startY)).waitAction().moveTo(PointOption.point(endX, endY)).release().perform();

滚动量不一致,有时滚动过度,有时滚动不足。 此外,我们没有用于触摸操作的布尔值 return 来了解它是否实际起作用。

Q1.How 我们是否验证 TouchAction 是否正常工作?

Q2.Which 是使用 appium 为移动设备实现滚动的最佳方式吗?

这是我用过的好方法。您可以使用 UiAutomator2 滚动查看特定元素,或者滚动直到 element 在页面上可见。

如果您使用 appium 作为自动化引擎,请添加所需的功能 UiAutomator2

capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2");

如果你有元素的id,现在使用下面的函数,索引为0,因为页面上有一个元素。

public void scrollByID(String Id, int index) {

        try {

             driver.findElement(MobileBy.AndroidUIAutomator("new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().resourceId(\""+Id+"\").instance("+index+"));")); 

        } catch (Exception e) {
           e.printStackTrace();
        }
    }

有更多的滚动方式。你可以找到他们