badoo / badoo/ios-device-server
Adapt ios-device-server for use with native Swift XCUI tests
- 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