使用appium动态设置屏幕滑动

2017/8/2 自动化测试Appium

在使用appium滑动操作时,往往遇到由于屏幕分辨率不同引起在一些设备上执行出错,可以有两种方法规避这个问题。

# 获取屏幕分辨率,调整滑动坐标

使用x = self.driver.get_window_size() 方法获取当前设备的分辨率,返回值为一个字典,x["width"]为屏幕宽度,x["height"]为屏幕高度。获取到屏幕的分辨率之后,计算在屏幕上的比率(安卓系统0坐标位于左上角)。参考代码如下:

def swipeWiFiSettingPagetoRight(self):
    x = self.driver.get_window_size()
    xs = int(x["width"] * 0.8)
    xe = int(x["width"] * 0.2)
    ys = int(x["height"] * 0.2)
    ye = int(x["height"] * 0.2)
    logging.info("swipe page form [{0}:{1}] to [{2}:{3}]".format(xs,ys,xe,ye))
    self.driver.swipe(xs,ys,xe,ye)

# 获取屏幕控件属性,调整滑动坐标

安卓系统控件属性——bounds,该属性为控件的位置信息([0,161][800,1136]),可以先获取该属性值,然后计算需要滑动的位置,最后执行滑动方法。