UNPKG

multi-automator

Version:
110 lines (109 loc) 2.31 kB
/// <reference types="node" /> import * as adb from './adb'; import Atx from './Atx'; import { AppInfo, ScreenSize } from '../types'; import Element from './Element'; export default class AndroidHandler { /** * 设备ID */ id: string; /** * 连接类型:USB、WIFI */ connectType: string; /** * ATX 实例 */ atx: Atx | null; /** * adb 实例 */ adb: typeof adb; constructor(deviceId: string, connectType: 'usb' | 'wifi'); /** * 初始化 */ init(): Promise<void>; /** * 关闭 */ close(): Promise<void>; /** * 返回主页 */ home(): Promise<void>; /** * 打开网页 */ goto(url: string): Promise<void>; /** * 安装 APP */ installApp(appPath: string): Promise<void>; /** * 卸载 APP */ uninstallApp(appId: string): Promise<void>; /** * 检查 APP 是否安装 */ isInstalled(packageName: string): Promise<boolean>; /** * 启动 APP */ launchApp(packageName: string, activity: string): Promise<void>; terminateApp(packageName: string): Promise<void>; /** * 获取 APP 列表 */ appList(): Promise<AppInfo[]>; /** * 获取 APP 信息 */ appInfo(packageName: string): Promise<AppInfo>; /** * 获取设备信息 */ info(): Promise<any>; /** * 获取当前设备页面 dom 树 */ source(timeout?: number): Promise<string>; /** * 截图 */ screenshot(path?: string): Promise<Buffer>; /** * 获取屏幕尺寸 */ getScreenSize(): Promise<ScreenSize>; /** * 点击操作 */ tap(x: number, y: number): Promise<boolean>; /** * 滑动操作 */ swipe(fx: number, fy: number, tx: number, ty: number, { duration }?: { duration: number; }): Promise<string>; /** * 长按操作 */ longpress(x: number, y: number, duration?: number): Promise<string>; /** * 输入文本 */ input(text: string): Promise<string>; $x(expression: string): Promise<Element[]>; /** * 回车 */ enter(): Promise<boolean>; /** * 返回 */ back(): Promise<boolean>; private parseBounds; }