这里是 V1.6.几的或 V1.7.1,V1.7 以前的,如果按上面代码的方式写坐标的话,会报错“提示越界了”。这个是版本差异引起的。 需要看日志,日志中会告诉你,当前滑动的点是什么。
多看Appium中的日志,它会问你是el滑动还是坐标滑动?
坐标滑动会直接打印坐标值,看下坐标值超了就说明是有问题的。版本比较晚的应该都是绝对坐标。
实际上是不会“越界”的,那只因为用的相对距离来滑动的。move_to的每一个坐标点都是真实的绝对坐标。
用的当前元素的原坐标点加上移动的距离得到的是当前相对于整个屏幕左上角这个 00 的真实坐标值。
我现在用的坐标,但是有的版本的问题是:
它的move_to参数不是绝对坐标。而是相对于上一个点的移动距离。
比如第一个点,press 是没有错的。用 move_to 的时候 y 没有动,x 轴移动了 2 倍 step。
如果是这种相对距离移动的话,要求x=2*step,没有坐标,y=0。如果不是按这种风格写的,会报“越界”。
它拿着上一个点的坐标值加上 x,y,得出来肯定超界了。因为代码里写的真实坐标,再加上 x,第二个点可能没有越界,第三个点就越界了。
如果报“越界”错误,那么就改成相对坐标滑动一下,看看有没有报错。
Appium 在不同的版本修复了不同的问题,但是修复的同时也可能出现不同的问题。
公众号清菡软件测试首发,更多原创文章:清菡软件测试 94+原创文章,欢迎关注、交流,禁止第三方擅自转载。