【android】Airtest IDE API基本使用以及多设备连接

# -*- encoding=utf8 -*-
__author__ = "Oct.Y"

from airtest.core.api import *
from airtest.core.android.adb import *
from airtest.core.android.android import *

auto_setup(__file__)

PACKAGE = "com.when.coco"
START_ACTIVITY = "Login"
INSTALL_PATH = "/Users/blue/Downloads/test.apk"

# 获得当前设备列表
adb = ADB()
devicesList = adb.devices()
# 连几台基本上是知道的,也可以判断一下是否满足需要,如果不够就报个错
devicesNum = len(devicesList) > 1
assert_equal(devicesNum,True,"设备连接数量至少为2")

# 连接手机 默认连接方式
connect_device("android:///")
# 指定设备号连接
connect_device("android:///" + devicesList[0][0])

android = Android()
#判断手机上是否安装包
try:
    android.check_app(PACKAGE)
except AirtestError:
    # 安装应用,是否同意覆盖安装,默认否
    android.install_app(INSTALL_PATH,False)
    
    # 有的手机不能直接安装,有个弹窗需要点,比如小米.
    # 我通过刷开发版,开启root,关闭了这个弹窗,还有应用权限监控
    # 除了安装特别慢之外,一切还算正常了
    
    # 覆盖安装举个例子
    android.install_app(INSTALL_PATH,True)
        
# 清空包数据,有的手机没有权限,相当尴尬
try:
    clear_app(PACKAGE)
except:
    # 卸载App
    uninstall(PACKAGE)
    # 安装应用
    install(INSTALL_PATH)

# 启动应用,可以带Acitvity,也可以不带   
start_app(PACKAGE, START_ACTIVITY)
# 休眠两秒
sleep(2)
# 停止应用
stop_app(PACKAGE)

# 切换手机
connect_device("android:///" + devicesList[1][0])

clear_app(PACKAGE)
uninstall(PACKAGE)
install(INSTALL_PATH)
# 启动App,不带Activity
start_app(PACKAGE)
sleep(2)
stop_app(PACKAGE)

猜你喜欢

转载自www.cnblogs.com/starkYang/p/10547278.html
今日推荐