官网文档(下载、安装、文档):https://sonic-cloud.gitee.io/#/SIB
用户社区(提 bug、需求): https://sonic-cloud.wiki/
Github: https://github.com/SonicCloudOrg/sonic-ios-bridge
sib 是以 gidevice 为底层实现的 iOS 调试工具,因为 go 语言特性,编译好的二进制文件可以直接运行,所以不需要额外配置 python 环境或者 go 环境,直接下载 3M 左右的包解压就可以使用啦!sonic 组织也在持续参与建设 gidevice。当前迭代了数月,到达了 1.1.2 版本,基础功能如下:
以上功能皆跨平台,即 Windows、Mac、Linux 都可以使用。
以 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);
即可启动。
sib run xctest -b bytedance.FastbotRunner.xxxxxxx.xctrunner -e BUNDLEID=com.xxxxxx.internalapp -e duration=1 -e throttle=500
注意,因为 wda 和 fastbot 部分底层是相同,所以同时启动 wda 和 fastbot 会阻塞哦
加上-i 参数即可获取 icon,格式为 base64
sib app list -i
前端渲染后效果如图
sib orientation
您会获得类似的输出
orientation: 1
sib 还在持续更新中,正在挖掘无人触碰的领域,也欢迎有能力的小伙伴参与建设 ~
转载需标明出处~