badoo / badoo/ios-device-server

Adapt ios-device-server for use with native Swift XCUI tests

Open
#30 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
51
Forks
11
PR merge metrics
No merged PRs in 30d

Description

Hi!
I am currently working on running iOS UI tests in parallel on multiple computers and I found your ios-device-server, but I do not need to use WebDriverAgent or even fbsimctl. My tests are written in Swift and [kif-framework](https://github.com/kif-framework/KIF) is used, I just need to build-for-test my app, upload it and file.xctestrun to host with simulators and run the tests like this:
`xcodebuild test-without-building -xctestrun ./ui-tests-scheme_iphonesimulator12.1-x86_64.xctestrun -destination "platform=iOS Simulator,id=C701D686-219A-475B-AB98-0BC4A9451CDF,OS=12.1" -only-testing:ui-tests/SomeTest1`

This command boots the simulator if it's shutdown, installs the app, runs test in headless mode and shutdown the simulator. It remains only to erase the simulator's data (`xcrun simctl erase C701D686-219A-475B-AB98-0BC4A9451CDF`) and the simulator ready to run next test.

I can modify your ios-device-server to fit my needs, but how easy will it be to get rid of WebDriverAgent and fbsimctl in programm logic and what's the best way to do that?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing ios-device-server's simulator and test-execution path, then identify where WebDriverAgent and fbsimctl are required. Compare that flow with the provided xcodebuild test-without-building command and simctl erase step. Done means native Swift/KIF xctestrun tests can run remotely without those dependencies, with simulator data reset between tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, swift
Domain
mobile, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.