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的位置,这样理解感觉也能说的通,当然只是我自己的理解,如有更好见解欢迎讨论。

转载于:https://www.cnblogs.com/d-d-w/p/9646193.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值