写点什么

软件测试 / 测试开发丨免安装免配置环境的免费 ios 调试工具 sib 来啦

作者:测试人
  • 2023-01-28
    北京
  • 本文字数:2490 字

    阅读完需:约 8 分钟

获取更多相关知识

公众号搜索:TestingStudio 霍格沃兹的干货都很硬核



sib 是以 gidevice 为底层实现的 iOS 调试工具,因为 go 语言特性,编译好的二进制文件可以直接运行,所以不需要额外配置 python 环境或者 go 环境,直接下载 3M 左右的包解压就可以使用啦!sonic 组织也在持续参与建设 gidevice。当前迭代了数月,到达了 1.1.2 版本,基础功能如下:


设备基础信息获取、设备监听App安装卸载、启动终止查看进程信息启动xctest相关,如:启动Wda、Fastbot_iOS获取电池相关信息重启关机代理转发崩溃信息收集模拟定位与取消(部分App不生效)屏幕旋转监听系统日志获取性能采集(Doing)截图文件管理
复制代码

以上功能皆跨平台,即 Windows、Mac、Linux 都可以使用。

UI 自动化的应用(Appium)

以 Java 为例:先用 sib 启动 wda(需要指定端口可以参考官网文档的参数)

sib run wda
复制代码

然后在脚本里配置 Driver

       DesiredCapabilities desiredCapabilities = new DesiredCapabilities();        desiredCapabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, Platform.IOS);        desiredCapabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.IOS_XCUI_TEST);        desiredCapabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 3600);        desiredCapabilities.setCapability(IOSMobileCapabilityType.COMMAND_TIMEOUTS, 3600);        desiredCapabilities.setCapability(MobileCapabilityType.NO_RESET, true);        desiredCapabilities.setCapability(MobileCapabilityType.DEVICE_NAME, 【设备名称,也可以通过sib获取】);        desiredCapabilities.setCapability(MobileCapabilityType.UDID, udId);        desiredCapabilities.setCapability("wdaConnectionTimeout", 60000);        desiredCapabilities.setCapability(IOSMobileCapabilityType.WEB_DRIVER_AGENT_URL, "http://127.0.0.1:8100");        desiredCapabilities.setCapability("useXctestrunFile", false);        desiredCapabilities.setCapability(IOSMobileCapabilityType.SHOW_IOS_LOG, false);        desiredCapabilities.setCapability(IOSMobileCapabilityType.SHOW_XCODE_LOG, false);        desiredCapabilities.setCapability("skipLogCapture", true);        desiredCapabilities.setCapability(IOSMobileCapabilityType.USE_PREBUILT_WDA, false);
new IOSDriver("http://localhost:4723/wd/hub", desiredCapabilities);
复制代码

即可启动。


在 Fastbot 应用

sib run xctest  -b bytedance.FastbotRunner.xxxxxxx.xctrunner -e BUNDLEID=com.xxxxxx.internalapp -e duration=1 -e throttle=500
复制代码

注意,因为 wda 和 fastbot 部分底层是相同,所以同时启动 wda 和 fastbot 会阻塞哦

获取 App 图标

加上-i 参数即可获取 icon,格式为 base64

sib app list -i
复制代码

前端渲染后效果如图



App 的管理还有很多,例如安装、卸载、启动、强杀

sib app installsib app uninstallsib app launchsib app kill
复制代码

屏幕旋转监听

sib orientation
复制代码

您会获得类似的输出

orientation: 1
复制代码



获取设备信息

sib devices -d -f
复制代码

你会获得类似输出

{        "deviceList": [                {                        "deviceId": 1,                        "connectionSpeed": 0,                        "connectionType": "USB",                        "locationId": 0,                        "productId": 4776,                        "serialNumber": "0000****-001****6F****E",                        "status": "online",                        "deviceDetail": {                                "generationName": "iPhone 13 Pro",                                "deviceName": "iPhone",                                "deviceColor": "1",                                "deviceClass": "iPhone",                                "productVersion": "15.4.1",                                "productType": "iPhone14,2",                                "productName": "iPhone OS",                                "passwordProtected": true,                                "modelNumber": "*****",                                "serialNumber": "*****",                                "simStatus": "kCTSIMSupportSIMStatusReady",                                "phoneNumber": "+86 *****",                                "cpuArchitecture": "arm64e",                                "protocolVersion": "2",                                "regionInfo": "CH/A",                                "telephonyCapability": true,                                "timeZone": "Asia/Shanghai",                                "uniqueDeviceID": "*****",                                "wifiAddress": "*****",                                "wirelessBoardSerialNumber": "*****",                                "bluetoothAddress": "*****",                                "buildVersion": "*****"                        }                }        ]}
复制代码

相关功能还有很多很多,这里就不全部放出来啦,推荐前往官方文档查看更多详细信息哦!

sib run wda -b your.wda.bundleIdsib run xctest -b your.wda.bundleIdsib app listsib app launchsib devices listensib app uninstallsib screenshootsib pssib crashsib locationsib oritationsib batterysib info...
复制代码

结语

sib 还在持续更新中,正在挖掘无人触碰的领域,也欢迎有能力的小伙伴参与建设 ~

官网文档(下载、安装、文档):https://sonic-cloud.gitee.io/#/SIB

用户社区(提 bug、需求):https://sonic-cloud.wiki/

Github:https://github.com/SonicCloudOrg/sonic-ios-bridge

发布于: 刚刚阅读数: 4
用户头像

测试人

关注

还未添加个人签名 2022-08-29 加入

还未添加个人简介

评论

发布
暂无评论
软件测试/测试开发丨免安装免配置环境的免费 ios 调试工具 sib 来啦_软件测试_测试人_InfoQ写作社区