Appium 1.6,iOS 10:在特定元素上向左滑动

时间:2016-12-01 07:18:51

标签: java appium

我正在尝试使用Appium 1.6 在 iOS 10上的特定元素上向左滑动以显示删除按钮。

触摸操作和滑动代码以向左滑动方向适用于appium 1.4但问题仅在我们迁移到appium 1.6后出现。

任何帮助都会得到极大的赞赏

2 个答案:

答案 0 :(得分:3)

我有同样的问题,现在我找到了解决方案。

详细说明:

<div id="CheckboxContainer">
<input type="checkbox" id="TheCheckbox" />
<div id="TheCheckboxLabel">
This text should float next to the checkbox instead of being under.
</div>
</div>

#CheckboxContainer{width:300px;margin:20px auto;background:red;overflow:hidden;}
#TheCheckbox{float:left;display:inline-block;margin:10px 10px;}
#TheCheckboxLabel{float:left;display:inline-block;margin:10px 10px;}
  

Appium 1.6.x - Swipe已被删除,我们必须创建自己的   用于滑动的TouchAction,在waitAction()中使用负值   执行快速滑动操作。例如waitAction(-200)。

 Appium 1.6.4 beta 
 Java-Client-5.x beta

发表您的反馈意见。

答案 1 :(得分:0)

public void swipe(String direction, int offset, int time) {

        int y = appiumDriver.manage().window().getSize().getHeight();
        int x = appiumDriver.manage().window().getSize().getWidth();
        TouchAction touchAction = new TouchAction(appiumDriver);
        System.out.println(x+" "+y);
        System.out.println("Entering swipe");
        if("right".equalsIgnoreCase(direction))
        {
            System.out.println("Swipe Right");
            touchAction.press(x-offset, y/2).moveTo(-(x-(2*offset)), 0).release().perform();
        }else if("left".equalsIgnoreCase(direction)){
            System.out.println("Swipe Left");
            touchAction.press(offset, y/2).moveTo((x-(2*offset)), 0).release().perform();
        }else if("up".equalsIgnoreCase(direction)){
            System.out.println("Swipe Up");
            touchAction.press(x/2, offset).moveTo(0, y-(2*offset)).release().perform();
        }else if("down".equalsIgnoreCase(direction)){
            System.out.println("Swipe Down");
            touchAction.press(x/2, y-offset).moveTo(0, -(y-(2*offset))).release().perform();
        }
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }