Skip to content

Add AI skills to drive end-to-end tests#25354

Merged
crazytonyli merged 1 commit intotrunkfrom
explore-e2e-tests
Mar 17, 2026
Merged

Add AI skills to drive end-to-end tests#25354
crazytonyli merged 1 commit intotrunkfrom
explore-e2e-tests

Conversation

@crazytonyli
Copy link
Contributor

Description

This PR adds two skills:

  1. ios-sim-navigation. This skill is basically a reference of WDA, which Claude Code can use to interact with iOS simulators.
  2. ai-test-runner. This skill describes a workflow for running end-to-end tests on iOS simulators using the ios-sim-navigation skill.

You can use ios-sim-navigation to verify your code changes. For example, you can add this to your prompt:

After completing the code changes, use the general-purpose agent with the ios-sim-navigation skill to verify the changes on the iPhone 17 Simulator.

You can try the ai-test-runner locally using a prompt like this:

Run the test case at Tests/AgentTests/ui-tests/create-blank-page.md on the iPhone 17 simulator. Here are the test site credentials: [url], [username], [application-password].

I have translated some UI tests into test cases in Tests/AgentTests/ui-tests. If you want, you can ask Claude Code to run the full test suite, which takes 40+ minutes. You can also ask Claude Code to run on two simulators simultaneously, which halves the runtime.

@crazytonyli crazytonyli requested review from jkmassel and kean March 9, 2026 08:17
@dangermattic
Copy link
Collaborator

dangermattic commented Mar 9, 2026

1 Warning
⚠️ This PR is larger than 500 lines of changes. Please consider splitting it into smaller PRs for easier and faster reviews.

Generated by 🚫 Danger

@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 9, 2026

@crazytonyli crazytonyli added the Tooling Build, Release, and Validation Tools label Mar 9, 2026
@crazytonyli crazytonyli added this to the 26.8 milestone Mar 9, 2026
@wpmobilebot
Copy link
Contributor

App Icon📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack
ConfigurationRelease-Alpha
Build Number31375
VersionPR #25354
Bundle IDcom.jetpack.alpha
Commit4ce4ab4
Installation URL6pjn4fq5kcv9g
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@wpmobilebot
Copy link
Contributor

App Icon📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress
ConfigurationRelease-Alpha
Build Number31375
VersionPR #25354
Bundle IDorg.wordpress.alpha
Commit4ce4ab4
Installation URL68ui02in8rn88
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@wpmobilebot
Copy link
Contributor

🤖 Build Failure Analysis

This build has failures. Claude has analyzed them - check the build annotations for details.

@kean
Copy link
Contributor

kean commented Mar 11, 2026

Hey Tony, is the plan to merge the PR or is it only for evaluation purposes? I've tried running it but quickly realized that it requires https://github.com/facebookarchive/WebDriverAgent, which I don't currently have installed. Would you mind sharing the setup steps required to get these skills to work please?

What was your experience running ai-test-runner? Can you share how the output looks like from your test runs?

@crazytonyli
Copy link
Contributor Author

@kean I think we can merge this PR. I'll ask the apps infra team to see if it's possible to run the tests on CI, which I'll leave them to explore now that a locally runnable pipeline is implemented in this PR.

Have you tried the example prompts in the PR description? Do they work for you? Yes, WebDriveAgent is needed. But the skill should take care of that (cloning, running, etc), you should not need to do anything other than click "yes".

@kean
Copy link
Contributor

kean commented Mar 12, 2026

Yes, WebDriveAgent is needed. But the skill should take care of that (cloning, running, etc)

I tried ios-sim-navigation yesterday and it tried invoking WDA in multiple ways, so I ended up aborting it mid-process. I'm going to give it another go when I get time, prioritizing other PR reviews for now if you don't mind.

@crazytonyli
Copy link
Contributor Author

I tried ios-sim-navigation yesterday and it tried invoking WDA in multiple ways

By "invoking WDA", do you mean making curl http://localhost... requests? When I use it, I just skip permission checks. Because CC may invoke the curl command in different ways: multiple commands in one line, commands with an env var, or even a full-on bash script.

Copy link
Contributor

@kean kean left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR looks good. I replied to the RFC as well. Nice work 👏

@crazytonyli crazytonyli added this pull request to the merge queue Mar 17, 2026
Merged via the queue into trunk with commit 282cd98 Mar 17, 2026
29 of 34 checks passed
@crazytonyli crazytonyli deleted the explore-e2e-tests branch March 17, 2026 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Tooling Build, Release, and Validation Tools

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants