tidevice中常用api 浅谈

发布时间 2023-08-29 22:27:48作者: 空慧居士

 - 设备管理类API: 

- `pair(device: Device) -> bool`:配对一个iOS设备,返回是否成功。

- `unpair(device: Device) -> bool`:解除配对一个iOS设备,返回是否成功。

- `list_devices() -> List[Device]`:列出所有已连接的iOS设备,返回一个设备对象的列表。

- `get_device_info(device: Device) -> dict`:获取一个iOS设备的信息,返回一个包含设备名称、型号、系统版本、序列号等字段的字典。

- `get_device_time(device: Device) -> datetime.datetime`:获取一个iOS设备的当前时间,返回一个datetime对象。

- `set_developer_mode(device: Device, enable: bool) -> None`:设置一个iOS设备的开发者模式,enable参数为True表示开启,False表示关闭。

- `reboot(device: Device) -> None`:重启一个iOS设备。

 

- 应用管理类API:

 

- `install_app(device: Device, app_path: str) -> None`:安装一个应用到iOS设备上,app_path参数为应用包的路径。

- `uninstall_app(device: Device, bundle_id: str) -> None`:卸载一个应用从iOS设备上,bundle_id参数为应用包的标识符。

- `launch_app(device: Device, bundle_id: str, args: List[str] = None, env: dict = None, wait_for_debugger=False) -> int`:启动一个应用在iOS设备上,bundle_id参数为应用包的标识符,args参数为应用启动时传递的命令行参数,env参数为应用启动时设置的环境变量,wait_for_debugger参数为True表示等待调试器连接后再启动。返回一个表示进程ID的整数。

- `stop_app(device: Device, pid: int) -> None`:停止一个应用在iOS设备上,pid参数为进程ID。

- `list_apps(device: Device) -> List[AppInfo]`:列出所有已安装的应用在iOS设备上,返回一个包含应用信息对象的列表。

 

- XCTest运行类API:

 

- `run_xctest(device: Device, bundle_id: str, test_bundle_id: str, test_cases=None, timeout=0.0) -> List[XCTestResult]`:运行一个XCTest测试计划在iOS设备上,bundle_id参数为被测应用包的标识符,test_bundle_id参数为测试包的标识符,test_cases参数为要运行的测试用例名称列表,timeout参数为超时时间(秒)。返回一个包含测试结果对象的列表。

- `start_wda(device: Device, bundle_id: str = "com.facebook.WebDriverAgentRunner.xctrunner", xctest_path=None, wda_root=None, mjpeg_server_port=9100, wda_port=8100) -> WebDriverAgent`:启动一个WebDriverAgent服务在iOS设备上,bundle_id参数为WebDriverAgentRunner应用包的标识符,xctest_path参数为WebDriverAgentRunner.xctest包的路径,wda_root参数为WebDriverAgent项目根目录路径,mjpeg_server_port参数为视频流服务端口号,wda_port参数为WebDriverAgent服务端口号。返回一个WebDriverAgent对象。

 

- 性能采集类API:

 

- `get_cpu_usage(device: Device, pid: int) -> float`:获取一个进程在iOS设备上的CPU使用率(百分比),pid参数为进程ID。返回一个浮点数。

- `get_memory_usage(device: Device, pid: int) -> float`:获取一个进程在iOS设备上的内存使用量(MB),pid参数为进程ID。返回一个浮点数。

- `get_fps(device: Device, pid: int) -> float`:获取一个进程在iOS设备上的帧率(FPS),pid参数为进程ID。返回一个浮点数。

- `get_power_usage(device: Device, pid: int) -> float`:获取一个进程在iOS设备上的功耗(mW),pid参数为进程ID。返回一个浮点数。

 

- 文件操作类API:

 

- `upload_file(device: Device, src_path: str, dst_path: str) -> None`:上传一个文件到iOS设备上,src_path参数为源文件路径,dst_path参数为目标文件路径。

- `download_file(device: Device, src_path: str, dst_path: str) -> None`:下载一个文件从iOS设备上,src_path参数为源文件路径,dst_path参数为目标文件路径。

- `delete_file(device: Device, path: str) -> None`:删除一个文件在iOS设备上,path参数为文件路径。

- `list_files(device: Device, path: str) -> List[FileInfo]`:列出一个目录下的所有文件在iOS设备上,path参数为目录路径。返回一个包含文件信息对象的列表。

 

- Crash日志操作类API:

 

- `get_crash_logs(device: Device) -> List[CrashLog]`:获取所有的Crash日志在iOS设备上,返回一个包含Crash日志对象的列表。

- `delete_crash_logs(device: Device) -> None`:删除所有的Crash日志在iOS设备上。