基础界面自动化¶
获取设备信息¶
d.device_info()
息屏、亮屏¶
# 息屏
d.sleep()
# 亮屏
d.wake_up()
# 屏幕是否点亮
d.is_screen_on()
# 屏幕是否已锁定
d.is_screen_locked()
显示 Toast 消息¶
d.show_toast("Hello from Lamda!")
读写剪切板¶
d.set_clipboard("剪切板内容")
# 获取剪切板内容(不支持安卓10+)
d.get_clipboard()
物理按键¶
# 此方法可使用如下17种按键
# KEY_BACK
# KEY_CAMERA
# KEY_CENTER
# KEY_DELETE
# KEY_DOWN
# KEY_ENTER
# KEY_HOME
# KEY_LEFT
# KEY_MENU
# KEY_POWER
# KEY_RECENT
# KEY_RIGHT
# KEY_SEARCH
# KEY_UP
# KEY_VOLUME_DOWN
# KEY_VOLUME_MUTE
# KEY_VOLUME_UP
d.press_key(Keys.KEY_BACK)
# 同时为了可以使用更多按键,也可以使用这个方法
d.press_keycode(KeyCodes.KEYCODE_CALL)
# 可使用的 KEYCODE 可以自行查看此文档
# https://developer.android.com/reference/android/view/KeyEvent#KEYCODE_0
屏幕截图¶
quality = 60 # 截图质量,默认为全画质
d.screenshot(quality).save("screenshot.png")
# 截取屏幕上特定区域的图像
# Bound 的参数 top,left 等定义:
# top: 从距离屏幕顶部向下数 top 个像素
# bottom: 从距离屏幕顶部向下数 bottom 个像素
# left: 从距离屏幕左侧向右数 left 个像素
# right: 到距离屏幕左侧向右数 right 个像素
# 正常情况下 top 永远小于 bottom,left 永远小于 right
bound = Bound(top=50, bottom=80, left=50, right=80)
d.screenshot(quality, bound=bound).save("partial.png")
点击屏幕上的一个点¶
d.click(Point(x=100, y=100))
点按点A并将其拖动到点B¶
A = Point(x=100, y=100)
B = Point(x=500, y=500)
d.drag(A, B)
从点A滑动到点B¶
A = Point(x=100, y=100)
B = Point(x=500, y=500)
d.swipe(A, B)
稍复杂的多点滑动(九宫格解锁)¶
p1 = Point(x=100, y=100)
p2 = Point(x=500, y=500)
p3 = Point(x=200, y=200)
# 从点P1滑动到点P2随后滑动到点P3,可任意个点
d.swipe_points(p1, p2, p3)
打开通知栏、快捷设置¶
d.open_notification()
d.open_quick_settings()
获取页面布局¶
d.dump_window_hierarchy().getvalue()
等待界面刷新完毕¶
# 单位是毫秒,5*1000 代表5秒
d.wait_for_idle(5*1000)
获取最近的 toast¶
d.get_last_toast()