是否可以使用TouchAction.press&在Appium中弃用的waitaction

时间:2018-03-08 12:47:32

标签: webview automation automated-tests appium appium-ios

目前我正在为ios离子应用编写Appium脚本,我使用以下方法进行滑动功能。



public void swipeHorizontal(AppiumDriver<MobileElement> driver, double startPercentage, double finalPercentage, int duration) throws Exception {
    Dimension size = driver.manage().window().getSize();
    int width = (int) (size.width/2);
    int startPoint = (int) (size.getHeight()*startPercentage);
    int endpoint = (int) (size.getHeight()*finalPercentage);
    new TouchAction(driver).press(width,startPoint).waitAction(Duration.ofSeconds(0)).moveTo(width,endpoint).release().perform();
   }
&#13;
&#13;
&#13;

在上面的方法中按下word,waitAction&amp;移动到切断消息&#34;按(int,int)&#34;已弃用。与waitAction&amp;也是如此。是否可以使用这种弃用的方法,或者我做错了什么?

1 个答案:

答案 0 :(得分:1)

每当你看到某些内容被“弃用”时,它意味着虽然它仍然受技术支持,但它只受支持,以便现有(旧版)应用程序将继续运行,并且新的,并且据称更好的东西已取代它,你应该使用新方法。

现在Appium中有一个滑动方法,它使事情变得简单得多。这是我使用滑动的代码:

/**
 * This method performs a swipe on an Android element
 * @author Bill Hileman
 * @param element - an Android element, i.e. an EditView, TextView, etc.
 * @param locator - a verbal description of the element for logging purposes
 * @param direction - a value of type SwipeElementDirection
 * @param duration - time in milliseconds for the swipe to complete
 */
public void swipe(AndroidElement element, String locator, SwipeElementDirection direction, int duration) {

    try {
        element.swipe(direction, duration);
    } catch (NullPointerException | NoSuchElementException e) {
        System.err.println("Unable to locate element '" + locator + "'");
        fail();
    } catch (Exception e) {
        System.err.println("Unable to swipe " + direction.toString() + " element '" + locator + "'");
        e.printStackTrace();
        fail();
    }

}