# \[Test Tool\] Testing iOS devices without Mac System!

**URL:** https://club.ministryoftesting.com/t/test-tool-testing-ios-devices-without-mac-system/62560
**Category:** Archive
**Created:** [28 September 2022 10:26 UTC](https://club.ministryoftesting.com/t/test-tool-testing-ios-devices-without-mac-system/62560 "2022-09-28T10:26:22Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![eason](https://sea2.discourse-cdn.com/flex020/user_avatar/club.ministryoftesting.com/eason/32/10791_2.png) [@eason](https://club.ministryoftesting.com/u/eason)
#### Post date: [28 September 2022 10:26 UTC](https://club.ministryoftesting.com/t/test-tool-testing-ios-devices-without-mac-system/62560/1 "2022-09-28T10:26:22Z")

</div>

Hi,

I’m sharing our project [sonic-ios-bridge](https://github.com/SonicCloudOrg/sonic-ios-bridge)

[Here](https://sonic-cloud.gitee.io/#/SIB) is the detailed document, but we are translating it.. 😭

It can run xctest , wda on Windows!

#### 1. Download

[click here](https://github.com/SonicCloudOrg/sonic-ios-bridge/releases) (If you are in Chinese Mainland, please visit [here](https://download.sonic-cloud.wiki/sonic/sonic-ios-bridge))

#### 2. execute shell (No need for windows)

```auto
sudo chmod 777 sib && sib version

```

#### 3. install iTunes （Require for windows）

## function

```auto
sib run wda -b your.wda.bundleId
sib run xctest -b your.wda.bundleId
sib app list
sib app launch
sib devices listen
sib app uninstall
sib screenshoot
sib ps
sib crash
sib location
sib oritation
sib battery
sib info
sib perfmon
...

```

### Use with Appium

1. launch wda with sib

```auto
sib run wda

```

1. your script (java)

```auto
        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, 【your device name】);
        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);

```

Congratulations！You can do some UI automation testing for every System containing Linux, windows and Mac.

Let me know what you think below.
