multi-automator
Version:
Multi terminal automation
110 lines (109 loc) • 2.31 kB
TypeScript
/// <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;
}