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) 的相关文章

  • UIWebView 未正确加载 JavaScript - 嵌入式 Facebook 帖子

    Facebook 有一项新功能 允许用户将公共帖子嵌入网页中 我想尝试在 UIWebView 内的 iPhone 应用程序中使用它 转义必要的代码非常简单 但即使我手动转义代码 Web 视图也不会正确加载帖子 JavaScript 根本不起
  • Xcode UI 测试 - 通过 id 在 Webview 中查找元素

    我们的应用程序是混合的 包含 webview 我正在尝试使用 Xcode UI 测试自动化我们的应用程序 我能够使用以下方法找到网络按钮 let app XCUIApplication app launch let button app s
  • 防止 UITableView 滚动到某个点以下

    如何让 UITableView 允许在某个索引行上方滚动 但在低于某个点时阻止滚动 例如 如果我有第 1 行到第 100 行 其中在给定时间视图中仅出现 5 行 我希望允许用户在第 1 50 行之间滚动 但在第 50 行可见时阻止进一步向下
  • AVAssetExportSession 输出文件

    AVAssetExportSession 输出文件应该是什么样子 我正在尝试压缩 ALAsset 项目中的视频 但它不起作用 我猜输出文件与它有关 这是我正在使用的代码 NSString destinationPath NSHomeDire
  • 当 Firebase 函数以 Swift 结束时

    我在我的应用程序中使用 Firebase 它查询大量用户并获取所需的特定数据 但是当它开始查询时 其余功能也继续运行 而不仅仅是查询 所以我无法理解当它结束时 例如在这段代码中 ref observeEventType ChildAdded
  • Flutter - 删除 ListView 中项目之间的空间

    我正在使用 ListView builder 函数来创建项目列表 然而 iOS 中每个项目之间的空间很大 截图 你知道如何删除项目吗 看来是默认的 因为我没有添加它 code 列表显示 return Scaffold body ListVi
  • 我正在寻找 GCDAsyncUdpSocket 上的一些示例,但发现没有一个有效

    接收数据从未被调用过 我编写了这个由我的主线调用的 swift 类UI视图控制器向接收消息的服务器发送消息 但当服务器发回响应时 客户端永远不会收到它 因为 didReceiveData 从未被触发 我一直在谷歌上搜索并查看文档 它说客户端
  • Parse 在哪里存储用户会话

    登录代码 PFUser logInWithUsernameInBackground self userTextField text password self passwordTextField text block PFUser user
  • Draggable UIView 在添加到 UIScrollView 后停止发布 TouchBegan

    在 Xcode 5 1 中我创建了一个简单的测试应用程序 https github com afarber ios newbie tree master ScrollContent对于 iPhone 结构是 scrollView gt co
  • 使用 ARKit 加载的 3D 文件有大小限制吗?

    我正在使用 ARKit 开发一个增强现实应用程序 我们需要在其中加载一组建筑物的 3D 模型 我计划是检测水平面并将物体放置在那里 3D 模型或检测到的平面尺寸有尺寸限制吗 如果您谈论的是文件的物理大小 我应该说每个模型的多边形数量比以 M
  • xcode 5.1 中的 ios 6.0 模拟器

    我刚刚成功将 Xcode 工具更新到 5 1 版本 当我检查首选项部分中的 下载 选项时 我注意到没有下载 ios 6 0 模拟器的选项 请检查附图 那么如何在Xcode 5 1中访问ios 6 0模拟器呢 请按照此程序升级您的 xCode
  • didChangeCameraPosition 获取可用坐标的边界框/矩形

    如何从 GMSCameraPosition 检索 GMSColinedBounds 我想知道每次用户移动相机时地图上的可见坐标 至少东北 西南点 如下所示 void mapView GMSMapView mapView didChangeC
  • 有关 UnsafeMutablePointer 的 destroy() 的术语

    Destroy the object the pointer points to Precondition the memory is initialized Postcondition the value has been destroy
  • 运行 pod install 时出错 - 在目标“Runner”上自动分配版本“8.0”的平台“iOS”

    你好 我无法用 Cocoapods 解决这个问题 任何人都可以帮助我 这是我第一次使用这个导入 导入 包 flutter vlc player flutter vlc player Dart 而不是可能出什么问题 我在mac上使用andro
  • MFMailcomposeviewcontroller 发送按钮被禁用

    有没有人遇到这样的问题MFMailcomposeviewcontroller发送按钮被禁用 变灰 取消按钮工作得很好 这似乎是一个新错误 如果本机邮件应用程序从 iPhone 中删除 从 iOS 10 开始允许 则可能会发生这种情况 在这种
  • 使用 CMake 在 iOS 中使用另一个 STATIC 库创建一个 STATIC 库

    我有一个 libfooi a 的集合 libfoo1 a libfoo2 a libfoo3 a 使用工厂 带有静态代码 有一个公共接口来创建 C 对象 使用 CMake 我选择其中之一 并创建一个链接它并添加所有内容的 libfooWra
  • 使用react-native使用WebView设置用户代理

    我想修改 WebView 中的用户代理字符串 以便在服务器端我可以检测到请求来自我的反应本机应用程序 我想使用 WebView 中的 source 属性来做到这一点 对于 IOS 和 Android 我该如何执行此操作 您只需将其设置为 W
  • cocos2d中获取CCSprite的绝对位置

    在我的游戏中 我有一个CCSprite绕另一个轨道运行CCSprite 很像电子绕原子核运行 我将电子作为原子核的子元素 以使动画更加简单 我所要做的就是旋转原子核 电子就会很好地跟随 然而 我的问题来自于想要让轨道动画看起来更时髦一点 通
  • 在哪里可以了解有关 WebCoreSharedBufferData 的更多信息?

    我有一个在 iOS 6 上完美运行的应用程序 但在 iOS 7 上 如果用户采取了非常具体的操作 太复杂而无法进入 但它使用UIWebView并且它是一致的 应用程序崩溃并出现错误 Terminating app due to uncaug
  • 用于测试对象类型的通用 Swift 函数

    我正在尝试编写一个函数 该函数接受一个对象和一个类型作为参数 并返回一个布尔值 指示该对象是否属于给定类型 似乎没有 Type 类型 所以我不知道如何做到这一点 我能做的最好的就是 func objectIsType

随机推荐

  • 基于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