feat(skills): add ios-simulator-test-recording skill for UI test walkthroughs#16005
feat(skills): add ios-simulator-test-recording skill for UI test walkthroughs#16005ryanwilson wants to merge 5 commits intomainfrom
Conversation
…throughs
Add a generalized skill to run xcodebuild tests on the iOS Simulator while
automatically recording a video walkthrough. It uses native TTY streams and AWK
to detect the exact moment a test suite begins execution, triggering the screen
cap at start-time and eliminating "dead-air" from the simulator's boot and
installation sequences.
- TTY-based stream monitoring via AWK for pinpoint synchronization.
- Automated `build-for-testing` validation to avoid blank recordings for failed builds.
- Dynamic `UDID` placeholder injection for `xcodebuild` endpoints.
- Avoids simulator cloning to ensure camera focus remains on a single target.
To run a test with recording, invoke the script using your test command after the `--` separator:
```bash
./.agents/skills/ios-simulator-test-recording/run_test_and_record.sh \
--show-ui \
-- xcodebuild test -project YourApp.xcodeproj -scheme YourApp -destination "platform=iOS Simulator,id={UDID}" -quiet
```
This is best if manually invoked in an agent with
`/ios-simulator-test-recording`.
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. |
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a new skill for running and recording iOS Simulator tests, consisting of a bash script and accompanying documentation. The feedback identifies several issues: the simulator auto-selection logic incorrectly uses alphabetical sorting (prioritizing 'iPhone SE' over 'iPhone 14'), the documentation contains incorrect file paths and a mismatched default filename, and the script relies on fixed sleep durations for process synchronization. Suggestions were provided to implement more robust polling for video finalization and to clarify or parameterize the post-test recording delay.
.agents/skills/ios-simulator-test-recording/run_test_and_record.sh
Outdated
Show resolved
Hide resolved
.agents/skills/ios-simulator-test-recording/scripts/run_test_and_record.sh
Show resolved
Hide resolved
.agents/skills/ios-simulator-test-recording/scripts/run_test_and_record.sh
Show resolved
Hide resolved
- Fix style issues - Update agents.md with some out of date info.
Add a generalized skill to run xcodebuild tests on the iOS Simulator while automatically recording a video walkthrough. It uses native TTY streams and AWK to detect the exact moment a test suite begins execution, triggering the screen cap at start-time and eliminating "dead-air" from the simulator's boot and installation sequences.
build-for-testingvalidation to avoid blank recordings for failed builds.UDIDplaceholder injection forxcodebuildendpoints.To run a test with recording, invoke the script using your test command after the
--separator:This is best if manually invoked in an agent with
/ios-simulator-test-recording.This will eventually be called out in AGENTS/GEMINI.md as a way to test newly written XCUITests for verification