tidevice中常用api 浅谈
- 设备管理类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设备上。
tidevice中常用api 浅谈的更多相关文章
- C++ STL中的常用容器浅谈
STL是C/C++开发中一个非常重要的模板,而其中定义的各种容器也是非常方便我们大家使用.下面,我们就浅谈某些常用的容器.这里我们不涉及容器的基本操作之类,只是要讨论一下各个容器其各自的特点.STL中 ...
- kafka中常用API的简单JAVA代码
通过之前<kafka分布式消息队列介绍以及集群安装>的介绍,对kafka有了初步的了解.本文主要讲述java代码中常用的操作. 准备:增加kafka依赖 <dependency> ...
- Thread中常用API
1.sleep方法 线程的 sleep 方法会使线程休眠指定的时间长度.休眠的意思是,当前逻辑执行到此不再继续执行,而是等待指定的时间.但在这段时间内,该线程持有的锁并不会释放.这样设计很好理解,因为 ...
- RESTful API浅谈
一.REST的由来 全称:REST,全称是Resource Representational State Transfer,即:资源在网络中以某种形式进行状态转移.————所谓状态的转移,可参考< ...
- Salesforce LWC学习(十六) Validity 在form中的使用浅谈
本篇参考: https://developer.salesforce.com/docs/component-library/bundle/lightning-input/documentation h ...
- Java 中 常用API概述之 Math, Object, String,StringBuffer类,Arrays,Integer类
Math Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数. 与StrictMath类的一些数字方法不同,Math类的StrictMath所有Math都没有定义为返回比特位相同 ...
- Web javascript 中常用API合集
来源于:https://www.kancloud.cn/dennis/tgjavascript/241852 一.节点 1.1 节点属性 Node.nodeName //返回节点名称,只读 Node. ...
- Bootstrap中的datetimepicker浅谈
从古至今,人们都习惯用某个时间来标记某个事件的发生.我们在写管理后台的时候,重中之中也是这个时间的设置.在问题出现的时候,我们是查看日志的时候,就可以根据这个时间段来查找这个问题出现点. 在使用时间控 ...
- Android开发用到的几种常用设计模式浅谈(一):组合模式
1:应用场景 Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用.在android UI设计,几乎所有的widget和布局类都依靠这两个类.组合模式 ...
- [UE4]C++中extern关键字浅谈
变量声明和变量是有区别的 extern int i; //只是声明i而非定义i int j; //声明而且还定义了j 任何一个显式初始化的声明都将成为定义,而不管有没有extern,extern语句一 ...
随机推荐
- RLHF · PBRL | PEBBLE:通过 human preference 学习 reward model
论文题目:PEBBLE: Feedback-Efficient Interactive Reinforcement Learning via Relabeling Experience and Uns ...
- Senparc 基础库全面适配 .NET 8.0
概要 Senparc 全家桶中的基础库已经全面适配 .NET 8.0,目前随着 .NET 8.0 的 RC 版本不断发布,对应的版本号也将同步进行更新,直到本月 Ignite 大会微软官方发布 .NE ...
- shell 语法介绍
大家好,我是蓝胖子,在日常开发中或多或少都会接触到shell脚本,可以说会shell脚本是一位后端开发的基本功,今天我将会花上一篇文章总结下常见的shell的语法,学完本篇,相信简单的shell脚本就 ...
- Spring5学习随笔-Spring5的第一个程序(环境搭建、日志框架整合)
第二章.第一个Spring程序 1.软件版本 1.JDK1.8+ 2.Maven3.5+ 3.IDEA2018+ 4.SpringFramework 5.1.4 官网:www.spring.io 2. ...
- 《HelloGitHub》第 92 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...
- 常用【描述性统计指标】含义(by python)
统计学有时候会被误解,好像必须有大量的样本数据,才能使统计结果有意义.这会让我们觉得统计学离我们的日常生活很遥远. 其实,如果数据的准确度高的话,少量的样本数据同样能反映出真实的情况.比如,很多国家选 ...
- 给祖传系统做了点 GC调优,暂停时间降低了 90%
问题描述 公司某规则引擎系统,在每次发版启动会手动预热,预热完成当流量切进来之后会偶发的出现一次长达1-2秒的Young GC(流量并不大,并且LB下的每个节点都会出现该情况) 在这次长暂停之后,每一 ...
- 通过 VS Code 优雅地编辑 Pod 内的代码(非 NodePort)
目录 1. 概述 2. NodePort 方式 3. Ingress 方式 4. 救命稻草 5. 其他 1. 概述 今天聊点啥呢,话说,你有没有想过怎样用 VS Code 连上 K8s 集群内的某个 ...
- Head First Java学习:第七章-继承和多态
第七章:继承和多态 1. 覆盖(override) 覆盖的意思是由子类重新定义继承下来的方法,以改变或延伸此方法的行为. 2. 继承(extends) 类的成员:实例变量+方法 实例变量无法覆盖是因为 ...
- Vue3+Vue-Router+TypeScript+Vite+Element-Plus+Axios+Pinia快速搭建开发框架
1.环境准备 (1) 首先你得需要安装node和npm 2.环境初始化 (1) 先随意找个文件夹,初始化vite # 安装pnpm npm i -g pnpm # 初始化vite pnpm creat ...