zoukankan      html  css  js  c++  java
  • appium滑动操作总结

    appium的滑动实现是门艺术,实现不好就会出现事与愿违的操作,比如本来想要向上滑动,却出现了下拉的动作,这样使得我们在调试中就要花费大量时间去调试滑动操作。

    以下是我在滑动操作中总结的一点经验,希望可以对遇到这方面问题的读者有一点帮助;

    总结:

    1、滑动时中间要加等待时间,不加等待时间容易出错,而且加等待时间的长短也要掌握好,一般在200-1000毫秒之间应该差不多,自己调试几次感觉一下哪个时间比较稳,每个程序可能会有所差异,还要注意的是ios和Android的等待时间也会有差异,ios等待1000毫秒可能出现长安的效果;

    TouchAction tAction = new TouchAction(driver);

     tAction.press(x,y).waitAction(200).moveTo(x,y).release().perform();

    2、滑动的坐标点,滑动的坐标点要掌握好,如果坐标点掌握不好也会导致错误出现,比如Android和ios就有很大区别,以下示例分别是ios和Android实现上滑动作;

    Android实现上滑:

    int width=driver.manage().window().getSize().width;

    int height=driver.manage().window().getSize().height;

    int y1 = height*3/4; //上滑的开始点,从y1开始也就是屏幕的四分之三处

    int y2 = height*1/4; //上滑的结束点,到y2结束也就是屏幕的四分之一处

    TouchAction tAction = new TouchAction(driver);

     tAction.press(width/2,y1).waitAction(200).moveTo(width/2,y2).release().perform();

    ios实现上滑:

     tAction.press(width/2,y1).waitAction(200).moveTo(width/2,y2-y1).release().perform();

    解释:

    比如总高度是1600,那么y1就是1200,y2是400,高度从1200移动到400的位置,这个大家应该都能理解,而ios的结束点的高度坐标是y2-y1,这样得出的是一个负数,这样感觉不太容易理解,这个可能是他们的算法有差异;我理解ios滑动算法是,y2-y1=-800,然后y1是1200,y1移动到y2,就是y1+y2=400,就是说移动到400的位置,这样理解感觉也能说的通,当然只是我自己的理解,如有更好见解欢迎讨论。

  • 相关阅读:
    bzoj 3262: 陌上花开
    hdu 5618 Jam's problem again
    bzoj 1176: [Balkan2007]Mokia
    bzoj 2683: 简单题
    Codevs 1080 线段树练习(CDQ分治)
    bzoj 3223: Tyvj 1729 文艺平衡树
    bzoj 1503: [NOI2004]郁闷的出纳员
    bzoj 1208: [HNOI2004]宠物收养所
    bzoj 1588: [HNOI2002]营业额统计
    bzoj 3224: Tyvj 1728 普通平衡树
  • 原文地址:https://www.cnblogs.com/d-d-w/p/9646193.html
Copyright © 2011-2022 走看看