使用Airtest中swipe方法由于不同分辨率的手机上滑动的坐标位置不同,所以想要兼容所有的手机,仅仅靠固定坐标就会出现问题
想要兼容所有的手机,可以按照如下思路进行
1、首先获取手机的分辨率,可以使用Airtest中的poco模块的get_screen_size()方法
poco.get_screen_size()
此时获取到了手机的分辨率,可以看出屏幕宽等于900,长度等于1600
2、将屏幕的宽度和长度分别赋值为x和y,注意屏幕左上角的坐标为(0,0),所以左下角的坐标为(0,1600),右上角的坐标为(900,0),右下角的坐标为(900,1600)
xy = poco.get_screen_size() x = xy[0] y = xy[1]
3、按照屏幕的比例进行滑动,我想要从屏幕的右侧向左侧滑动,就可以按照如下方法进行,从(0.9*x,0.5*y)的坐标移动到(0.1*x,0.5y)的坐标,也就是从(810,800)的坐标移动到(90,800)的坐标
swipe((0.9*x,0.5*y),(0.1*x,0.5*y),duration=1)
4、完整代码运行
# -*- encoding=utf8 -*- __author__ = "fengruishou" from airtest.core.api import * from poco.drivers.android.uiautomation import AndroidUiautomationPoco poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False) auto_setup(__file__) print(poco.get_screen_size()) xy = poco.get_screen_size() x = xy[0] y = xy[1] swipe((0.9*x,0.5*y),(0.1*x,0.5*y),duration=1)