我原本的脚本里有一行代码如下
self.driver.swipe(0.5,0,0.5,0.5,500)
很简单,就是横坐标 X=0.5 不变,纵坐标 Y 从 0 滑动到屏幕中间,运行的结果就是下滑打开通知栏.
原本在 Appium 1.2 上跑起来都是很正常的,今天手贱把 Appium 升到了 1.3.4,再跑起来就不正常了,实际结果是在 X=0.5,y=0.5 的地方点击,而不是滑动.
我又试了几组不同的坐标,发现问题如下:
self.driver.swipe(0.5, 0, 0.5, 0.5, 500)
预期: Y 轴从 0 滑动到 0.5
结果 :在 Y = 0.5 处点击
self.driver.swipe(0.5 ,0, 0.5, 0.4, 500)
预期 : Y 轴从 0 滑动到 0.4
结果 : Y 轴从 0.5 逆向滑动到 0.4
self.driver.swipe(0.5, 0.4, 0.5, 0.6, 500)
预期 : Y 轴从 0.4 滑动到 0.6
结果 : Y 轴从 0.4 滑动到 0.6
self.driver.swipe(0.5 ,0.1 ,0.5, 0.4, 500)
预期 : Y 轴从 0.1 滑动到 0.4
结果 : Y 轴从 0.1 滑动到 0.4
self.driver.swipe(0.5, 0.5, 0.5, 1, 500)
预期 : Y 轴从 0.5 滑动到 1
结果 : Y 轴从 0.5 逆向滑动到 0
self.driver.swipe(0.5, 0.5, 0.5, 0.8, 500)
预期 : Y 轴从 0.5 滑动到 0.8
结果 : Y 轴从 0.5 滑动到 0.8
self.driver.swipe(0.5, 1, 0.5, 0.5, 500)
预期 : Y 轴从 1 滑动到 0.5
结果 : Y 轴从 0 滑动到 0.5
self.driver.swipe(0.5, 1, 0.5, 0.8, 500)
预期 : Y 轴从 1 滑动到 0.8
结果 : Y 轴从 0 滑动到 0.8
Y 轴不变,测试了几组 X 轴,也有这个问题
简而言之, 如果说 appium 1.2 有一个概念是把屏幕视为一个整体,以屏幕的左上角为起点 (x = 0,y = 0),以右下角 (x = 1, y = 1) 终点的话,
appium 1.3.4 似乎容易把 起点:0/正中:0.5/终点:1 这三点的坐标搞混淆.
不知道大家有没有跟我碰到同样的问题?