airtest之Android真机连接

使用AirtestIDE连接安卓设备之前,需要确保ADB已经连接上了设备。

① 我们可以使用 adb devices 来查看设备情况,如果仅仅提示 List of devices attached,则表明ADB未连接上任何设备;此时需要检查手机上的 USB调试 功能是否已开启,或者换一根USB数据线;

② 如果ADB已连接上设备,那么执行 adb devices 后,会显示已连接设备的列表:SJE5T17B17001648是设备号

List of devices attached
SJE5T17B17001648 device
SJE5T17B17001650 device

 

备用的设备连接参数怎么理解

IDE提供了3个备用的连接参数: Use javacap 、Use ADB orientation 和 Use ADB touch ;

 

① 第一个 Use javacap ,是给部分无法正常看到手机画面、 minicap初始化失败 的手机或设备用的,所以模拟器看到黑屏、部分特殊的平板等设备可以考虑勾选这个选项

② 第二个 Use ADB orientation 是 屏幕旋转 的,如果在安卓手机屏幕旋转方向检测有问题、或者是部分特殊的平板无法显示正确的屏幕方向时可以勾选

③ 第三个 Use ADB touch 是 发送adb指令来点击屏幕 ,效果很差,速度也很慢, 不建议勾选 ,只有在部分无法点击屏幕的特殊安卓设备上才需要使用(例如智能后视镜、特殊型号的平板等设备上)

正常情况下,手机都可以点击,如果无法被点击(比如小米设备),一般都是因为手机设置有选项漏了打开,特别是小米设备要注意 开启允许模拟点击 的设置。

①手机系统是MIUI11,此时我们需要在点击“connect”按钮之前,把 “use Javacap + use orientation” 这两个选项勾选上,再点击“connect”按钮即可正常使用

② 手机的安卓版本是Android10,此时仅需要把IDE更新到最新版本(1.2.3)即可;如果IDE使用的是本地的python环境,那还需要把本地python环境的Airtest更新到最新版本。

1.连接Android手机

# 什么都不填写,默认取当前连接中的第一台手机
Android:///
# 连接本机默认端口连的一台设备号为79d03fa的手机
Android://127.0.0.1:5037/79d03fa
# 用本机的adb连接一台adb connect过的远程设备,注意10.254.60.1:5555其实是serialno
Android://127.0.0.1:5037/10.254.60.1:5555

 

模拟器或者MIUI11等设备需要添加备选的连接参数才可以正常连接,而且在命令行连接设备时也需要把这些参数加上:

使用了备选连接参数的设备
# 夜神模拟器(127.0.0.1:62001为夜神模拟器的端口号)
Android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP&&ori_method=ADBORI
# 设备号为79d03fa的 小米MIUI11 设备
Android://127.0.0.1:5037/79d03fa?cap_method=JAVACAP&&ori_method=ADBORI

注意: && 在Windows平台下需要转义成 ^&^& ;在MAC平台下需要转义成 /&/&。否则有可能出现因运行命令被截断而产生的各种报错。

 

如何在Python脚本中使用Airtest

连接手机,在我们了解过auto_setup接口后就会知道,需要把一些参数传给它,然后初始化Airtest运行环境用的。因此,一个纯.py脚本的初始化代码可以是这样的:

from airtest.core.api import *
from airtest.cli.parser import cli_setup

if not cli_setup():
    auto_setup(__file__, logdir=True, devices=[
        "Android:///?cap_method=javacap&ori_method=adbori",
    ])

# do something
# touch((x, y)

上面这段代码的意思是说,当使用 python xxx.py来运行本文件,且不带任何命令行参数时,则自动使用auto_setup这个接口来对airtest相关的参数进行初始化。这样只需要在写py脚本时,填写好指定的参数就能直接用 python xx.py 指令来运行脚本。


同时,原先传统的airtest run xx.air –-devices Android:///命令行运行方式也不受影响,只要脚本检测到传入了命令行参数(即代码中的if not cli_setup()判断),就依然优先使用命令行参数来初始化Airtest环境。

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值