Airtest&poco学习历程1——设备连接

Airtest&poco学习历程1


一、设备连接

详情参考网易airtest官网教程

以下为网页原文:

模拟器连接:以网易的mumu模拟器为例

https://airtest.doc.io.netease.com/IDEdocs/device_connection/3_emulator_connection/

真机连接:

2.1 Android真机连接 - Airtest Project Docs

1. Android模拟器连接

如果我们手边没有可用的Android真机,又想进行Android应用自动化测试,这时候就要使用AirtestIDE的Android模拟器自动化测试功能了。

AirtestIDE所支持的模拟器包括 Android Virtual Device(AVD) 和市面上常见模拟器(如 Mumu模拟器 )。

模拟器可以像真机一样连接到AirtestIDE中,如果画面显示为黑屏,请在连接模拟器之前,勾选connect按钮下拉菜单里的 Use javacap 选项,然后再点击connect按钮进行连接。如果依然连接失败,可以尝试再勾选 use adb orientation 后连接。

这里以某个模拟器为例, 展示一下模拟器的连接流程:

  • 首先,与手机类似,需要打开模拟器的 开发者选项-允许USB调试 。部分模拟器可能需要找到 设置-关于手机 点击多次后才能打开开发者选项:

image

  • 打开AirtestIDE设备窗内的 远程设备连接 ,输入 adb connect 127.0.0.1:7555 后(该端口号与模拟器品牌相关,见 2. 模拟器连接端口汇总 ),点击 连接 按钮

image

  • 设备列表中可见 127.0.0.1:7555 设备,先点击Connect按钮旁的下拉菜单,勾选Javacap模式后,再点击 Conenct 按钮(如果没有勾选Javacap模式,会导致看到的手机画面是黑屏)。如果还是未能连接成功,可以补充勾选 use adb orientation 再连。

image

  • 完成连接:

image

2. 模拟器连接端口汇总

主流模拟器的设备连接代码如下:

模拟器adb连接代码
网易Mumuadb connect 127.0.0.1:7555
夜神adb connect 127.0.0.1:62001
逍遥adb connect 127.0.0.1:21503
iToolsadb connect 127.0.0.1:54001
天天adb connect 127.0.0.1:6555
海马玩adb connect 127.0.0.1:26744
BlueStacksadb connect 127.0.0.1:5555

这些模拟器的连接过程均可参考上文中 1. 模拟器连接 的描述进行连接。

3. 利用脚本命令连接设备

在命令行传入模拟器设备参数

如果在命令行运行脚本时,连接的是模拟器设备,有一点需要注意,因为我们在连接时勾选了Use javacapUse ADB orientation这俩个选项,所以在命令行连接设备的时候,也需要把这俩个参数附加在设备字符串后面:

airtest run D:/test/moniqi_test.air --device Android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP^&^&ori_method=ADBORI --log E:/log_test
  1. 模拟器设备字符串的定义为:
Android://<adbhost[localhost]>:<adbport[5037]>/模拟器端口号

其中,adbhostadb server所在主机的ip,默认是本机127.0.0.1adb port默认是5037。 2. 设备字符串后面跟了多个参数,需要用&&来连接,但是&这个字符需要转义才能够生效: Windows下改写成^&^&,MAC下改写成/&/&

在脚本编写模拟器的connect_device语句

如果不想在命令行中传入设备参数,我们也可以在脚本内编写connect_device语句来连接模拟器设备:

# -*- encoding=utf8 -*-
__author__ = "xiaoming"

from airtest.core.api import *

dev = connect_device("Android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP^&^&ori_method=ADBORI")

auto_setup(__file__)

这样在命令行运行脚本时,就不用添加连接模拟器设备的参数了。

在纯.py脚本传入模拟器设备参数

如果我们使用纯.py脚本,在设备初始化时,也需要传入相应的模拟器设备参数:

# -*- encoding=utf8 -*-
__author__ = "xiaoming"

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

if not cli_setup():
    auto_setup(__file__, logdir=True, devices=[
            "Android://127.0.0.1:5037/127.0.0.1:62001?cap_method=JAVACAP^&^&ori_method=ADBORI",
    ])

4. 无法连接设备的异常情况

点connect时发现无法连接设备,且Log查看窗里有报错

此时可能是同时运行了多个adb.exe,打开任务管理器,关闭所有adb.exe

再次点击connect即可连接成功

5. 真机连接

使用AirtestIDE对Android应用进行自动化测试时,第一步就需要连接Android设备。

Android真机连接准备:

  • 请先安装手机对应品牌的官方驱动,确保能使用电脑对手机进行USB调试
  • 确保已经打开了手机中的"开发者选项",并且打开"开发者选项"内的"允许USB调试"
  • 部分手机需要打开"允许模拟位置"、"允许通过USB安装应用"
  • 关闭电脑上已经安装的手机助手软件,能避免绝大多数问题,请务必在任务管理器中手工结束手机助手进程

Android真机USB连接

image

  • 请使用USB线连接手机,手机上出现的 允许USB调试 弹窗点击确定
  • 点击连接面板中的 refresh ADB 按钮,设备列表将会刷新,
  • 点击列表内对应设备的 Connect 完成连接,
  • 若设备未刷出,点击 refresh ADB 按钮.

如果遇到连接问题,请查阅 Android连接常见问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值