iOS性能监控及自动化测试辅助工具对比-tidevice、py-ios-device(pyidevice)、sonic-ios-bridge(sib)

2023-05-16

对比项tidevicepy-ios-device(pyidevice)sonic-ios-bridge(sib)
是否开源
github地址https://github.com/alibaba/taobao-iphone-devicehttps://github.com/YueChen-C/py-ios-devicehttps://github.com/SonicCloudOrg/sonic-ios-bridge/releases
最新版本V0.5.6V2.2.3.1V1.1.6
运行环境支持运行在Mac,Linux,Windows上;python版本:3.6以上支持运行在Mac、Windows上;python 版本: 3.7 +支持运行在Mac、Linux、Windows上
主要功能做 iOS 自动化用的工具,也可以做性能数据采集(类似PerfDog)通过 Instruments 私有协议获取 iOS 相关性能指标数据。基于 gidevice 作为底层iOS通信协议,以打造跨平台执行xctest、WebDriverAgentRunner、性能监听等等特色功能的命令行iOS调试工具。还在完善中
更新频次
(截止2022年8月13日)
2个月前1个月前3天前(2022年8月10日)
作者圣翔chenpeijie & liyachaoSonicCloudOrg
联系邮件codeskyblue@gmail.comcpjsf@163.comhttps://github.com/ZhouYixun
社区答疑QQ交流群: 134535547 (进群答案: ios)QQ 交流群:37042417微信群和社区https://sonic-cloud.wiki/
技术文档tidevice 开源:不依赖 Xcode 也能启动 WDA · TesterHome硬货来啦!!使用纯 python 实现 Instruments 协议,跨平台 (win,mac,linux) 获取 iOS 性能数据 · TesterHome不想折腾 python 环境又想跨平台进行 iOS 自动化怎么办?不妨试试 sib~ · TesterHome
使用文档https://github.com/alibaba/taobao-iphone-device#readmehttps://github.com/YueChen-C/py-ios-device/blob/main/README_CN.mdSonic - 开源云真机测试平台
现有功能截图(1)instruments 相关功能列表:运行wda:sib run wda -b your.wda.bundleId
获取手机信息 获取系统的 内存、cpu 数据运行xctest:sib run xctest -b your.wda.bundleId
ipa包的安装和卸载 获取应用的 内存、cpu 数据获取app列表:sib app list
根据bundleID 启动和停止应用 获取 FPS 数据sib app launch
列出安装应用信息 获取 网络数据设备监听:sib devices listen
模拟Xcode运行XCTest,常用的如启动WebDriverAgent测试(此方法不依赖xcodebuild) 设置模拟真机网络状态,例如 2g 、3g、 lost 等卸载app:sib app uninstall
获取指定应用性能(CPU,MEM,FPS) 设置模拟真机设备高压过热状态快速截图:sib screenshoot
获取指定应用功耗(CPU,GPU,network,display,location) 事件监听,监听app 启动,退出,后台运行等查看进程:sib ps
文件操作 启动杀死 APP查看崩溃信息:sib crash
Crash日志操作 运行 xcuitest 启动 wdasib location
其他 导出内核堆栈快照设置横竖屏:sib oritation
  解析内核数据流获取电池信息:sib battery
  获取 iOS GPU Counterssib info
 (2)其他功能列表sib添加文件管理功能,支持mkdir、tree、ls等等操作
  描述文件管理 例如:安装 卸载 Fiddler 证书等......
  获取系统日志流 
  获取崩溃日志 
  获取抓包数据转发至 wiershark 
  应用管理:安装、卸载、启动、查询、运行状态等 
  获取电池信息 
使用命令usage: tidevice [-h] [-v] [-u UDID] [--socket SOCKET]Usage: pyidevice [OPTIONS] COMMAND [ARGS]...Usage:
positional arguments:   sib [command]
    version             show current versionOptions: 
    list                show connected iOS devices  --help  Show this message and exit.Available Commands:
    info                show device info   afc         manipulate device files through afc commands
    date                device current dateCommands:  app         Manage your Apps.
    sysinfo             show device system info  apps         application options  battery     Show battery of your device.
    appinfo             inspect app info  battery      get device battery  completion  Generate the autocompletion script for the specified shell
    applist             list packages  crash        crash report options  crash       Get CrashReport from your device
    battery             show battery info  deviceinfo   open an AFC shell for given bundle_id, assuming its...  devices     Get iOS device list
    screenshot          take screenshot  devices      get device list  help        Help about any command
    install             install application  instruments  run instruments service  info        Show domain info in your device
    uninstall           uninstall application  pcapd        sniff device traffic  location    Manage your location.
    reboot              reboot device  profiles     crash report options  mount       Mount device development disk
    shutdown            shutdown device  sandbox      open an AFC shell for given bundle_id, assuming its...  orientation Listener for devices orientation
    parse               parse ipa bundle id  syslog       file management per application bundle  proxy       Proxy unix process or port to your pc.
    watch               watch device   ps          Show process in your device
    wait-for-device     wait for device attachedpyidevice instruments  reboot      Reboot or Shutdown device
    launch              launch app with bundle_id  applist           Show application list  run         Run XCTest or WebDriverAgent
    kill                kill by pid or bundle_id  condition         Set system running condition  screenshot  Get screenshot realtime
    ps                  show running processes  core_profile      Dump stack snapshot information.  syslog      Get syslog from your device.
    relay               relay phone inner port to pc, same as iproxy  fps               Get graphics fps  version     Version code of sib
    xctest              run XCTest  gpu_counters      Metal GPU Counters 
    wdaproxy            keep WDA running and relay WDA service to pc  information       System information.Flags:
    syslog              print iphone syslog  kill              Kill a process by its pid.  -h, --help   help for sib
    fsync               app file management  launch            Launch a process. 
    dumpfps             dump fps  monitor           Get monitor performance dataUse "sib [command] --help" for more information about a command.
    developer           mount developer image to device  network_process   Print process about current network activity. 
    pair                pair device  networking        Print information about current network activity. 
    perf                performance of app  notifications     Get mobile notifications 
    test                command for developer  runningProcesses  Show running process list 
   stackshot         Dump stack snapshot information. 
   sysmontap         Get performance data 
   xcode_energy      Print process about current network activity. 
   xcuitest          Run XCTest required WDA installed. 
其它性能数据获取基于py-ios-device 基于gidevice
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS性能监控及自动化测试辅助工具对比-tidevice、py-ios-device(pyidevice)、sonic-ios-bridge(sib) 的相关文章

  • iOS:如何在不降低 fps 的情况下播放音频?

    我正在使用 Sprite Kit 最好使用 Swift 库 为 iOS 9 开发游戏 目前 我正在使用 Singleton 在其中预加载音频文件 每个文件都连接到一个单独的 AVAudioPlayer 实例 这是一个简短的代码片段来了解这个
  • 使用 UItableviewCell 实现 Google 地图

    我正在尝试在 UItableviewCell 组件内实现谷歌地图 我这样做的方法是在原型单元中定义 GMSMapView 然后使用 dequeueReusableCell 方法配置地图单元 但是 我尝试应用的任何更改都会失败 例如添加标记
  • UILocalNotification 在后台 10 分钟后不提示

    In didFinishLaunchingWithOptions调用函数的定时器循环httpRequest每 1 分钟间隔一次 BOOL application UIApplication application didFinishLaun
  • 使用远程图像创建 MSSticker

    我正在尝试找出使用网络上托管的图像创建 MSStickers 的方法 我可以使用本地图像创建 MSStickers 例如 NSString imagePath NSBundle mainBundle pathForResource imag
  • mgwt - 以编程方式改变方向

    是否可以在 gwt mgwt 应用程序中更改强制执行特定的屏幕方向 可以说我希望用户始终以横向模式使用应用程序 这取决于 是作为phonegap应用程序 而不是在浏览器内部 如果您作为 Web 应用程序运行 则不需要t get any co
  • 如何在 iOS 中通过 Twitter API 获取用户电子邮件地址?

    我尝试了多个 SDK 但无法从任何资源获取电子邮件 ID 我努力了FHSTwitterEngine为此目的 但我没有得到解决方案 FHSTwitterEngine twitterEngine FHSTwitterEngine sharedE
  • UIStackView分布均匀填充

    所以 我有一个UIStackView其中包含四 4 UIViews 如果我删除其中一 1 个UIViews 其他三 3 个将填满UIStackView 我的问题 如何添加最大高度UIView这样它就不会填满整个空间UIStackView即使
  • Admob 广告无法快速显示

    您好 我正在尝试将 admob 广告添加到已使用 swift 上传到应用商店的应用程序中 我在 admob 中制作了一个应用程序并复制了 appid 和广告 id 并显示了各自的横幅广告和插页式广告 这里的问题是当我写这行时 request
  • 为什么performSegueWithIdentifier在viewDidLoad中不起作用?

    我试图在视图控制器上调用 viewDidLoad 后立即触发故事板转场 Segue 附加了一个标识符 当从链接到按钮或其他控件的方法内部调用时 它可以正常工作 但它在 viewDidLoad 内部不起作用 它只是默默地失败了 viewDid
  • `navigator.geolocation.getCurrentPosition()` 在 iOS PWA 上挂起

    我有这个片段 const getCurrentPosition gt new Promise
  • 将自定义数据包含到 iOS 故障转储中

    你好 堆栈溢出 有一个简单的问题要问您 当我的应用程序在用户的设备上崩溃时 是否可以将自定义错误数据嵌入到自动生成的 iOS 故障转储中 例如 我的 SQlite 数据库由于某种原因无法运行 例如 数据库文件已损坏 我无法从这个错误中恢复
  • iOS 中 NSDecimalNumber 的小数分隔符错误

    我尝试通过以下方式输出具有正确的小数分隔符的十进制数的描述 NSString strValue 9 94300 NSDecimalNumber decimalNumber NSDecimalNumber decimalNumberWithS
  • Swift,以编程方式更改 UICollectionViewCell 和 UILabel(单元格内)的宽度

    我已将单元格 UICollectionViewCell 的宽度设置为等于 UICollectionView 的宽度 并且我尝试对该单元格中包含的 UILabel 执行完全相同的操作 我认为下面的代码准确地解释了我想要实现的目标 所以我在这里
  • 用户验证 Facebook 后未调用应用程序打开 Url 方法

    我已将 ios 应用程序中的 facebook 升级到 3 0 并使用提供的代码https developers facebook com docs howtos login with facebook using ios sdk http
  • 如何向标准 UIButton 添加徽章? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 是否可以在标准中添加看起来标准的徽章UIButton 如果不支持半原生 那么实现此目的最简单的方法是什么 示例图片 这是 Sascha
  • 如何在代码中编辑约束

    我有一个以 100 开始宽度限制的网页 当用户单击按钮时 我想将约束更改为 200 我试过这个 NSLayoutConstraint constrain NSLayoutConstraint constraintWithItem self
  • 在 UIWebView 中播放 Facebook 视频

    有谁知道如何在 Facebook 上播放视频UIWebView 我的应用程序将视频上 传到 Facebook 并检索视频的网址 我想将此网址嵌入到UIWebView播放 我已经为 youtube 解决了这个问题 但没有为 Facebook
  • Objective-C 中发送给对象的消息可以被监听或者打印出来吗? [复制]

    这个问题在这里已经有答案了 可能的重复 Objective C 中拦截方法调用 https stackoverflow com questions 1618474 intercept method call in objective c 如
  • 在 Swift 中从 Parse 加载图像

    我成功地将数据从 Parse 提取到 swift 中 但我的图像似乎没有按照我的方式工作 在我的 cellForRowAtIndexPath 方法中 我执行以下操作 var event AnyObject eventContainerArr
  • 是否可以跨 2 个不同的 iOS 应用程序访问数据?

    假设我在 App1 中存储了一些 ID 数据 并希望在同一设备上的 App2 中访问它 平台上可以这样吗 如果没有的话有什么解决方法吗 您可以使用iOS 钥匙扣 http developer apple com library ios do

随机推荐

  • 基于51单片机的便携式输液点滴控制报警器

    1 简介 基于单片机输液点滴控制报警器组成 该系统主要由光电传感器检测电路 键盘 数码管显示 报警提示电路 液滴流速监测电路 电机驱动电路等组成 利用光电感器测量出液滴流速 xff0c 并将将信息返回给单片机 xff0c 单片机对流速信号与
  • PCB加工文件—Gerber文件的导出

    当我们使用软件将一个板卡的PCB图纸设计好后 xff0c 想到PCB厂家制作成电路板 简单的 xff0c 你可以把自己的设置PCB文件 PcbDoc 直接发给厂家加工 xff0c 但是有些PCB厂家会要求你提供Gerber文件 但是这个Ge
  • AD13如何导出坐标文件

    在电子行业加工生产大批量的电路板 xff0c 都是利用贴片机进行生产和制造 xff0c 在生产之前 xff0c 我们需要提供PCB的坐标文件给贴片厂家 xff0c 这样厂家才能确定每个元器件应该贴在PCB板上什么位置 所以下面我们就来讲一下
  • 基于PID算法的水箱温度控制系统

    1 概述 本设计为基于STC89C52单片机的智能水温控制系统 xff0c 控制对象以500mL陶瓷水箱为容器 xff0c 并使用PID控制算法来调整水箱中500ml纯净水的温度 水温可以在一定范围内人为设定 xff0c 并能实现在下限温度
  • 基于51单片机的数字电流电压表

    1 简述 本文介绍了基于STC89C52单片机为核心 xff0c 分别以ACS712 05芯片和串联分压电路为为电流检测和电压检测电路 xff0c 并通过AD0809数模转换芯片对电压信号进行采集和转换 xff0c 传输给单片机进行处理 x
  • OpenStack快速入门

    一 登陆OpenStack 查看用户名和密码 查看文件 用户名admin和demo 登录 页面显示 修改密码 点击设置 gt 更改密码 创建和操作虚拟机实例 xff08 一 xff09 创建虚拟机实的前提 创建虚拟机实例的前提条件 1 实例
  • vnc view远程登录Linux

    转自http blog sina com cn s blog 49c306b201011had html 尽管我们可以使用 SSH连接远程通过字符界面来操作Linux xff0c 但是对于更多熟悉图形人来说是很不方便的 xff0c 因此开启
  • 【Python基础】之装饰器

    这是我初次接触装饰器 xff0c 先从初学者的角度介绍装饰器 xff0c 关于装饰器的应用场景举例 xff0c 后面再补充 1 装饰器的作用 装饰器可以让一个函数在不做任何变动的情况下新增额外的功能 如下代码 xff0c func name
  • Sonic simple服务中设备图片、测试用例运行异常图片、失败录像路径映射配置

    使用docker ps查看容器信息 使用docker exec it a2d69c075875 sh进入容器 xff0c 并查看容器文件 相关文件夹说明 xff1a imageFiles xff1a 测试用例运行截图信息 keepFiles
  • ubuntu vmware 虚拟网络编辑 ping 外网不通问题

    内网环境在192 168 1 1 网段 虚拟机想要ssh 接入 xff0c 并且可以上网 使用桥接方式和NAT方式都可以 互ping xff0c 但是上网遇到了问题 NAT解决方法如下 xff0c 桥接方式随后再研究 NAT 模式下子网IP
  • 深入解读相机矩阵

    在这片文章里 xff0c 你将了解到以下内容 xff1a 1 相机的针孔模型 2 相机矩阵的概念 3 相机内参的含义 4 相机外参的含义 1 相机针孔模型 针孔模型是相机成像的基础模型 xff0c 是理解后续相机矩阵内容的基础 下图描述了基
  • python 循环输入,用户输入回车结束

    输入的回车会被视为空字符 xff0c 可以用a 61 61 39 39 来作为结束循环的标志 n 61 while 1 a 61 input if a 61 61 39 39 break else n append a print n
  • OpenvSwitch 子项目 OVN 功能介绍(一)

    众所周知 xff0c OpenvSwitch 以其丰富的功能和不错的性能 xff0c 已经成为 Openstack 部署中最受欢迎的虚拟交换机 由于 Openstack Neutron 的架构引入了一些性能问题 xff0c 比如 neutr
  • SDN网络中的转发数据和数据传输

    数据驱动的网络 从数据驱动的角度来看网络 xff0c 会发现一张现实中的网络存在着各种数据 设计和管理一张网络 xff0c 主要是设计数据 xff0c 存储数据 xff0c 管理数据和分析数据 网络数据的规模 复杂度和变化速度 xff0c
  • [云计算]OpenStack - Neutron

    Neutron在OpenStack中的位置 可以为虚拟机或者 OpenStack 组件提供网络服务 xff0c xff08 由 Nova network 独立出来的 xff09 随着需承载业务的能力的增长作为 Nova 子组件无法满足 过程
  • 后台架构师除了技术,还有97件事,你知道吗?

    对于架构师 xff0c 很多人可能觉得很笼统 架构师到底需要学习什么 xff1f 学习完哪些技术就可以到架构师的水准 在行业内的话其实并没有一个非常明确的标准 技术是一方面 xff0c 但是如果仅仅只是技术的话 xff0c 具体一名合格的架
  • Failed to read artifact descriptor for xxx.jar

    mavne 项目 pom xml 文件标红 错误如下 xff1a Failed to read artifact descriptor for xxx jar Failed to read artifact descriptor for x
  • imx6q平台上移植mt7601

    本文描述如何将MT7601 WiFi模块移植到IMX6Q开发板上 xff0c 分析移植过程中碰到的问题 xff0c 分析错误原因 xff0c 提供解决办法 一 MT7601实物图 二 验证开发板和USB MT7601硬件是否正常 步骤1 x
  • 在图片上画出标注目标框和类别python程序

    在图片上画出标注目标框和类别python程序 xff0c 还是比较简单的 xff0c 直接上一份代码 xff1a usr bin python coding UTF 8 2018 07 11 by DQ import cv2 import
  • iOS性能监控及自动化测试辅助工具对比-tidevice、py-ios-device(pyidevice)、sonic-ios-bridge(sib)

    对比项 tidevice py ios device xff08 pyidevice xff09 sonic ios bridge xff08 sib xff09 是否开源 github地址 https github com alibaba