0

我遇到了这个与 appium UI 自动化相关的有趣问题。在我的应用程序中,用户水平滚动操作后动态加载的 UI 元素很少。我试图构建我的自定义方法来对 UI 元素执行水平操作,但没有运气(附上错误截图)。我看到 (x,y) 位置在垂直滚动时效果很好,想知道是否有人做过水平滚动以使隐藏元素可见(动态加载的元素)?如果您对此有任何指示,请告诉我。提前致谢。注意:在下面的屏幕截图中,您可以看到最后一个可见元素是 16x20,但之后还有一个按钮“20x30”,我正在尝试选择它。我尝试了以下选项:首先: browser.execute('mobile: scroll', {element: element, direction: 'left'}); 第二: screenAction.swipeLR(element,5); 我在自定义方法中传递的元素是最后一个可见元素,即 16x20:

    {
        console.log("Performing touch ops horizontally");
        //element.touchMove(10,0);
        //element.scrollIntoView();

        const xLocation = element.getLocation('x')
        console.log(xLocation); // outputs: 150

        const yLocation = element.getLocation('y')
        console.log(yLocation); // outputs: 20

        const swipeStart = {
            x:<Number>xLocation,
            y: <Number>yLocation,
        };

        const swipeEnd = {
            x: <Number>(xLocation+20),
            y: <Number>yLocation,
        };

        // scroll up-to numberOfSwipes
        let counter = 0;
        while (counter < numberOfSwipes) {
            console.log('Swipe process started');
            this.swipe(swipeStart, swipeEnd);
            counter += 1;
            if (counter >= numberOfSwipes) {
                break;
            }
        }

    }````
[![enter image description here][1]][1]
[![enter image description here][2]][2]


  [1]: https://i.stack.imgur.com/t893q.png
  [2]: https://i.stack.imgur.com/YMh9Z.png
4

0 回答 0