Airtest中swipe方法兼容不同分辨率的解决方法

Posted ffrs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Airtest中swipe方法兼容不同分辨率的解决方法相关的知识,希望对你有一定的参考价值。

使用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)

 

 

 

 技术图片

 

以上是关于Airtest中swipe方法兼容不同分辨率的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

3.Appium滑动函数swipe

Airtest IDE 自动化测试9

由于Airtest中long_click无法实现长按,教你如何在Airtest中实现长按的方法

airtest之api图片处理

用airtest做滑动解锁怎么搞?其实很简单!

airtest使用