appium滑动操作总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了appium滑动操作总结相关的知识,希望对你有一定的参考价值。

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

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

总结:

1、滑动时中间要加等待时间,不加等待时间容易出错,而且加等待时间的长短也要掌握好,一般在200-1000毫秒之间应该差不多,自己调试几次感觉一下哪个时间比较稳,每个程序可能会有所差异,还要注意的是iosandroid的等待时间也会有差异,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的位置,这样理解感觉也能说的通,当然只是我自己的理解,如有更好见解欢迎讨论。

以上是关于appium滑动操作总结的主要内容,如果未能解决你的问题,请参考以下文章

Python Appium 滑动点击等操作

appium 学习各种小功能总结--功能有《滑动图片保存截图验证元素是否存在》---新手总结(大牛勿喷,新手互相交流)

Python Appium 滑动点击等操作

Appium-Java滑动操作

appium--滑动

Appium-python-UI自动化之页面-上下滑动左右滑动swipe方法操作