From 12f33c4ab7d4ba8c84ec666eeb9e3f47317d5e53 Mon Sep 17 00:00:00 2001 From: salmank Date: Sun, 4 Oct 2026 05:47:19 +0530 Subject: [PATCH 1/5] docs(xcui): migrate XCUITestingSidebar onto stage + dedicated sidebar Port the XCUITestingSidebar changes from restructure-docs onto stage: - Update 8 XCUI docs; add xcuitest-agent-skills; remove speedup-xcui and xcresult (content merged into sharding-xcui / xcui-xml-report) - Restructure the XCUITestingSidebar block and bold its top-level entries - Make XCUI a dedicated sidebar (main-menu link + exported sidebar) in sidebars-unified.js, mirroring Test Manager - Restyle Real/Virtual Device pills as neutral gray inline chips (shared classes, so site-wide) Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/getting-started-with-xcuitest.md | 87 ++----- docs/ios-ipa-files-xcui.md | 11 +- docs/regular-expression-xcui.md | 16 +- docs/sharding-xcui.md | 70 ++++-- docs/speedup-xcui.md | 159 ------------ docs/supported-locales-xcui.md | 11 +- docs/xcresult.md | 334 -------------------------- docs/xctestplan.md | 23 +- docs/xcui-supported-capibilities.md | 51 ++-- docs/xcui-xml-report.md | 192 +++++++++++++-- docs/xcuitest-agent-skills.md | 203 ++++++++++++++++ sidebars-unified.js | 8 +- sidebars.js | 66 ++--- src/css/custom.css | 12 +- 14 files changed, 554 insertions(+), 689 deletions(-) delete mode 100644 docs/speedup-xcui.md delete mode 100644 docs/xcresult.md create mode 100644 docs/xcuitest-agent-skills.md diff --git a/docs/getting-started-with-xcuitest.md b/docs/getting-started-with-xcuitest.md index 174b8ba65..e5c1e150a 100644 --- a/docs/getting-started-with-xcuitest.md +++ b/docs/getting-started-with-xcuitest.md @@ -1,8 +1,8 @@ --- id: getting-started-with-xcui-testing -title: XCUI Testing on TestMu AI -sidebar_label: XCUI Testing -description: Master XCUITest automation with TestMu AI! Learn to run scripts, utilize capabilities, and execute tests on real iOS devices effortlessly. Get started now! +title: How to Run XCUITest on TestMu AI +sidebar_label: "Run First Test" +description: Run XCUITest automation for your iOS apps across 5000+ real devices and OS combinations on TestMu AI, from app upload to viewing results. keywords: - xcuitest - app test automation @@ -15,14 +15,15 @@ url: https://www.testmuai.com/support/docs/getting-started-with-xcuitest/ site_name: TestMu AI slug: getting-started-with-xcuitest/ canonical: https://www.testmuai.com/support/docs/getting-started-with-xcuitest/ +toc_max_heading_level: 2 --- import CodeBlock from '@theme/CodeBlock'; import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/component/keys"; -import RealDeviceTag from '../src/component/realDevice'; -import VirtualDeviceTag from '../src/component/virtualDevice'; import BrandName, { BRAND_URL } from '@site/src/component/BrandName'; import CookieTrackingLogin from '@site/src/component/CookieTracking'; +import RealDeviceTag from '@site/src/component/realDevice'; +import VirtualDeviceTag from '@site/src/component/virtualDevice'; import VerifiedTag from '@site/src/component/verifiedTag'; @@ -43,7 +44,7 @@ import VerifiedTag from '@site/src/component/verifiedTag'; },{ "@type": "ListItem", "position": 3, - "name": "XCUI Testing on TestMu AI", + "name": "How to Run XCUITest on TestMu AI", "item": `${BRAND_URL}/support/docs/getting-started-with-xcuitest/` }] }) @@ -222,7 +223,11 @@ import VerifiedTag from '@site/src/component/verifiedTag'; } ]) }} /> + + +Running XCUITest on TestMu AI executes Apple's XCTest-based UI automation for your iOS apps across 5000+ real devices and OS combinations. Upload your app and test bundle, configure capabilities, trigger the run, and review results on the TestMu AI dashboard. + Developed by Apple, XCUITest is a framework for user-interface (UI) testing for iOS applications. It is built on top of XCTest, an integrated test framework in Apple's Xcode IDE. lets you perform automated app testing of your iOS apps using XCUITest across 5000+ real devices and OS combinations. ## Prerequisites @@ -339,8 +344,6 @@ Take note of the base64 encoded authentication which needs to be added in the * Before running the command, replace `BASIC_AUTH_TOKEN`, `APP_ID`, and `TEST_SUITE_ID` with your actual LambdaTest credentials and resource IDs obtained from the above curl commands. ::: - - @@ -348,6 +351,8 @@ Take note of the base64 encoded authentication which needs to be added in the + +
@@ -373,8 +378,10 @@ curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/x + +
- + ```bash curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/xcui/build" ^ @@ -421,7 +428,7 @@ curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/x
- + ```bash curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/xcui/build" ^ @@ -453,8 +460,6 @@ You can run tests in parallel on multiple devices by passing the device name in * Before running the command, replace `BASIC_AUTH_TOKEN`, `APP_ID`, and `TEST_SUITE_ID` with your actual LambdaTest credentials and resource IDs obtained from the above curl commands. ::: - - @@ -462,6 +467,8 @@ You can run tests in parallel on multiple devices by passing the device name in + +
@@ -487,8 +494,10 @@ curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/x + +
- + ```bash curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/xcui/build" ^ @@ -535,7 +544,7 @@ curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/x
- + ```bash curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/xcui/build" ^ @@ -552,52 +561,6 @@ curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/x - -## Using the XCUITest Agent Skill with TestMu AI -*** - -The [xcuitest-skill](https://github.com/LambdaTest/agent-skills/tree/main/xcuitest-skill) is a part of [TestMu AI Skills](https://github.com/LambdaTest/agent-skills/) that guide AI coding assistants in generating production-ready test automation. - -The xcuitest-skill package includes: - - - -``` -xcuitest-skill/ -├── SKILL.md -└── reference/ - ├── playbook.md - └── advanced-patterns.md -``` - -It provides structured guidance for: - -* Project structure and setup -* Dependency configuration -* Local execution -* TestMu AI cloud execution -* Debugging patterns -* CI/CD integration - - -### Installing XCUITest Agent Skill -*** - -Install a XCUITest Agent Skill using the command below: - - - -``` -# Clone the repo and copy the skill you need -git clone https://github.com/LambdaTest/agent-skills.git -cp -r agent-skills/xcuitest-skill .claude/skills/ - -# Or for Cursor / Copilot -cp -r agent-skills/xcuitest-skill .cursor/skills/ -``` - -**Note**: If you prefer installing all available framework skills instead of only xcuitest-skill, clone the repository directly into your tool's skills directory (for example, .claude/skills/, .cursor/skills/, .gemini/skills/, or .agent/skills/). - \ No newline at end of file + diff --git a/docs/ios-ipa-files-xcui.md b/docs/ios-ipa-files-xcui.md index 6e951f834..0e1e8c6ec 100644 --- a/docs/ios-ipa-files-xcui.md +++ b/docs/ios-ipa-files-xcui.md @@ -1,7 +1,7 @@ --- id: ios-ipa-files-xcui -title: Creating iOS Applications -sidebar_label: Creating iOS Applications +title: How to Create iOS IPA Files on TestMu AI +sidebar_label: "Creating iOS Applications" description: Effortlessly test iOS IPA files with XCUi on TestMu AI. Ensure your apps run smoothly on all iOS devices with comprehensive testing support. keywords: - xcuitest @@ -18,6 +18,7 @@ url: https://www.testmuai.com/support/docs/ios-ipa-files-xcui/ site_name: TestMu AI slug: ios-ipa-files-xcui/ canonical: https://www.testmuai.com/support/docs/ios-ipa-files-xcui/ +toc_max_heading_level: 2 --- import CodeBlock from '@theme/CodeBlock'; @@ -42,7 +43,7 @@ import BrandName, { BRAND_URL } from '@site/src/component/BrandName'; },{ "@type": "ListItem", "position": 3, - "name": "Creating iOS apps", + "name": "How to Create iOS IPA Files on TestMu AI", "item": `${BRAND_URL}/support/docs/ios-ipa-files-xcui/` }] }) @@ -140,7 +141,7 @@ import BrandName, { BRAND_URL } from '@site/src/component/BrandName'; ]) }} /> -This document outlines the process of creating and testing iOS apps using Xcode. It covers two methods for creating.ipa files for testing: directly creating the.ipa file or creating an.app bundle and converting it into an.ipa file. The first method involves creating a.ipa file using various export methods, such as Ad Hoc, Enterprise, or Development. The second method involves creating an.app bundle and converting it into an.ipa file. +Creating iOS IPA files for XCUITest on TestMu AI uses Xcode to archive and export your app. Build the .ipa through Ad Hoc, Enterprise, or Development export methods, or generate a .app bundle and convert it into an uploadable .ipa. ## Step 1: Create .ipa files for Testing @@ -241,7 +242,7 @@ This process will overwrite the **Build settings** at the Project Level to the g
  • - XCUI Testing + How to Create iOS IPA Files on TestMu AI
  • diff --git a/docs/regular-expression-xcui.md b/docs/regular-expression-xcui.md index eb39f26da..c9fd3eb81 100644 --- a/docs/regular-expression-xcui.md +++ b/docs/regular-expression-xcui.md @@ -1,9 +1,9 @@ --- id: regular-expression-xcui -title: Regular Expression - XCUI +title: How to Use Regular Expressions for XCUI on TestMu AI # hide_title: true -sidebar_label: Regular Expression -description: There may be instances when the device you chose for a test on TestMu AI is not available. In these scenarios, REGEX will help you widen the search request for devices to run the test on. +sidebar_label: "Regular Expression" +description: Use REGEX in your device capabilities on TestMu AI to widen the device search when the exact iPhone or iPad you picked is unavailable. keywords: - regular expression testmu ai - regular expression app automation @@ -11,10 +11,11 @@ url: https://www.testmuai.com/support/docs/regular-expression-xcui/ site_name: TestMu AI slug: regular-expression-xcui/ canonical: https://www.testmuai.com/support/docs/regular-expression-xcui/ +toc_max_heading_level: 2 --- -import RealDeviceTag from '../src/component/realDevice'; import BrandName, { BRAND_URL } from '@site/src/component/BrandName'; +import RealDeviceTag from '@site/src/component/realDevice'; import VerifiedTag from '@site/src/component/verifiedTag'; @@ -35,7 +36,7 @@ import VerifiedTag from '@site/src/component/verifiedTag'; },{ "@type": "ListItem", "position": 3, - "name": "App Automation: Regular Expression", + "name": "How to Use Regular Expressions for XCUI on TestMu AI", "item": `${BRAND_URL}/support/docs/regular-expression-xcui/` }] }) @@ -114,7 +115,11 @@ import VerifiedTag from '@site/src/component/verifiedTag'; "dateModified": "2026-09-09T19:10:37+05:30" }) }} /> + + +Using regular expressions for XCUI device selection on TestMu AI lets you match any available device with a pattern instead of one exact model, so tests still run when your chosen iPhone or iPad is busy, widening the device search. + Regular Expression or REGEX is widely used to make searching/find characters in a string. When you run a test on using a specific device, there may be scenarios, in which the particular device that you selected isn’t available. In these scenarios, REGEX will help you widen the search request for devices to run the test on. @@ -132,7 +137,6 @@ Usual way to pass the `deviceName` and `platformVersion` looks like this:
    ``` Passing `deviceName` using REGEX:
    - ```java diff --git a/docs/sharding-xcui.md b/docs/sharding-xcui.md index c704647df..d16e2cd25 100644 --- a/docs/sharding-xcui.md +++ b/docs/sharding-xcui.md @@ -1,8 +1,8 @@ --- id: sharding-xcui -title: Sharding for XCUI -sidebar_label: Sharding for XCUI -description: This document will cover how to execute XCUI Tests on real devices with HyperExecute. Before starting, please make sure you have App Automation and HyperExecute Cloud plans on your account. +title: How to Shard XCUI Tests on TestMu AI +sidebar_label: "Sharding" +description: Speed up XCUI tests on TestMu AI by splitting them into shards that run in parallel on real devices with HyperExecute orchestration. keywords: - sharding - XCUIT @@ -17,16 +17,17 @@ url: https://www.testmuai.com/support/docs/sharding-rd-hyperexec/ site_name: TestMu AI slug: sharding-rd-hyperexec/ canonical: https://www.testmuai.com/support/docs/sharding-rd-hyperexec/ +toc_max_heading_level: 2 --- import CodeBlock from '@theme/CodeBlock'; import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/component/keys"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -import RealDeviceTag from '../src/component/realDevice'; -import VirtualDeviceTag from '../src/component/virtualDevice'; import BrandName, { BRAND_URL } from '@site/src/component/BrandName'; import { CookieTrackingSignup } from '@site/src/component/CookieTracking'; +import RealDeviceTag from '@site/src/component/realDevice'; +import VirtualDeviceTag from '@site/src/component/virtualDevice'; import VerifiedTag from '@site/src/component/verifiedTag'; @@ -47,7 +48,7 @@ import VerifiedTag from '@site/src/component/verifiedTag'; },{ "@type": "ListItem", "position": 3, - "name": "Sharding in XCUIT", + "name": "How to Shard XCUI Tests on TestMu AI", "item": `${BRAND_URL}/support/docs/sharding-rd-hyperexec/` }] }) @@ -178,9 +179,10 @@ import VerifiedTag from '@site/src/component/verifiedTag'; /> -Generally the XCUI tests are run in sequence which is a time taking process. This document explains how you can speed up this process by splitting the tests into **shards**. We can divide the various tests into shards which can run parallelly and save time while running various XCUI tests. -This document will cover how to execute **XCUI Tests** on real devices with **HyperExecute**. HyperExecute is a smart test orchestration platform to run end-to-end tests at the fastest speed possible. HyperExecute is configured using a YAML file. +Sharding XCUI tests on TestMu AI splits a sequential suite into shards that run in parallel across real devices, cutting execution time. HyperExecute, configured through a YAML file, orchestrates the shards so your end-to-end iOS tests finish much faster overall. + +**HyperExecute** is a smart test orchestration platform that runs XCUI end-to-end tests on real devices at the fastest speed possible, configured using a YAML file. :::tip Note You can learn more about the HyperExecute portal and UI by going through our [Guided Walkthrough](/support/docs/hyperexecute-guided-walkthrough/) page. It contains all the relevant information that you need to optimise your testing process with HyperExecute. @@ -306,11 +308,11 @@ Response of above cURL will be a **JSON** object containing the `App URL` of the Refer to the sample `.yaml` file here - - + +
    @@ -375,6 +377,8 @@ framework: + +
    @@ -475,7 +479,6 @@ chmod u+x ``` You can refer to this example and screenshot below: - ``` @@ -500,7 +503,7 @@ Here's an example of the same. -```java +```yaml filters: attributes: - type: className @@ -511,7 +514,7 @@ filters: This example will run only the 2 classes & one test as mentioned from the TestSuite. ## XCTestPlan in Sharding -To implement the XCTestPlan in Sharding, add the `xctestplan` flag along with `app` and `testSuite` in the [framework](/support/docs/hyperexecute-yaml-version0.2/#framework) flag as shown below: +To implement the XCTestPlan in Sharding, add the `xctestplan` flag along with `app` and `testSuite` in the [framework](/support/docs/deep-dive-into-hyperexecute-yaml/#hyperexecute-yaml-v02-framework-flags-and-discovery-config) flag as shown below: @@ -526,7 +529,46 @@ framework: > Refer the documentation to learn how to use [XCTestPlan feature](/support/docs/xctestplan/). +## Filters for XCUI Tests + +Usually, all the test cases of your XCUI test suite are executed, but there is a way to filter these. You can specify some selected classes or tests, which provides you with options to filter the test cases which you want to execute. + +To filter the test cases, you just need to pass the suitable parameters in ’s REST API request. Refer to the table below to understand how to use various filters provided by . + +Given below is the REST API endpoint: + + + +```bash +curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/xcui/build' \ +--header 'Authorization: Basic BASIC_AUTH_TOKEN' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "app" : "APP_ID", + "testSuite": "TEST_SUITE_ID", + "device" : ["iPhone 11-14"], + "video" : true, + "queueTimeout": 10800, + "idleTimeout": 150, + "devicelog": true, + "network": false, + "build" : "Proverbial-XCUITest" +}' +``` + +| Parameters | Description | Values | Datatype | +|----------- | ----------- | ------ | -------- | +| `only-testing` Real & Virtual| Allows the user to run only those tests/classes provided in the list | Values can be of the following format: className or className/testName. E.g. `["Class1/Test1", "Class2"]` | Array | +| `skip-testing`Real & Virtual| Allows the user to run all the tests/classes except the ones provided in the list | Values can be of the following format: className or className/testName. E.g. `["Class1/Test1", "Class2"]` | Array | + +:::info Note +You can not use the following filters simultaneously. +- `only-testing` and `skip-testing` +- `xctestplan` and `only-testing`/`skip-testing` +::: + + ## Additional Links - [Advanced Configuration for Capabilities](/support/docs/desired-capabilities-in-appium/) - [How to test locally hosted apps](/support/docs/testing-locally-hosted-pages/) -- [How to integrate with CI/CD](/support/docs/integrations-with-ci-cd-tools/) \ No newline at end of file +- [How to integrate with CI/CD](/support/docs/integrations-with-ci-cd-tools/) diff --git a/docs/speedup-xcui.md b/docs/speedup-xcui.md deleted file mode 100644 index 163bfbce5..000000000 --- a/docs/speedup-xcui.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -id: speedup-xcui -title: Filters for XCUI Tests -sidebar_label: Filters for XCUI Tests -description: Filter XCUI test cases with TestMu AI's REST API. Run specific tests or skip others using customizable parameters. Streamline your testing process effortlessly. -keywords: - - XCUI test filters - - app test automation - - XCUI - - filter - - testmu ai - - framework on testmu ai - - testing in XCUI - - XCUI testing - - real devices -url: https://www.testmuai.com/support/docs/speedup-xcui/ -site_name: TestMu AI -slug: speedup-xcui/ -canonical: https://www.testmuai.com/support/docs/speedup-xcui/ ---- - -import CodeBlock from '@theme/CodeBlock'; -import {YOUR_LAMBDATEST_USERNAME, YOUR_LAMBDATEST_ACCESS_KEY} from "@site/src/component/keys"; - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -import RealDeviceTag from '../src/component/realDevice'; -import VirtualDeviceTag from '../src/component/virtualDevice'; -import BrandName, { BRAND_URL } from '@site/src/component/BrandName'; -import VerifiedTag from '@site/src/component/verifiedTag'; - - - - - - - + +# How to Run XCUITest With Agent Skills on TestMu AI +--- + + +Running XCUITest with Agent Skills on TestMu AI lets your AI coding assistant generate production-ready iOS UI automation from natural-language prompts, then run those tests on real devices while following proper project structure, Xcode build settings, and cloud execution patterns. + +Instead of manually wiring up your XCUITest project, use **Agent Skills** to let your AI coding assistant generate production-ready iOS UI automation for you. The [xcuitest-skill](https://github.com/LambdaTest/agent-skills/tree/main/xcuitest-skill) is part of [TestMu AI Agent Skills](https://github.com/LambdaTest/agent-skills/) - structured packages that teach AI assistants how to write production-grade test code and run it on real devices. + +## What Agent Skills Are +--- + +Self-contained packages of instructions, code patterns, and configurations for a specific testing framework. + +Once installed, your AI assistant works like a senior iOS QA automation architect with knowledge of: + +- Proper XCUITest project structure in Swift and Objective-C +- Correct Xcode build settings and test target configuration +- Both local and TestMu AI real-device cloud execution patterns +- Common pitfalls and debugging approaches +- CI/CD integration with GitHub Actions + +## Prerequisites +--- + +Make sure you have the following set up before you start. + +1. [Create a TestMu AI account](https://www.testmuai.com/register/) if you don't have one. +2. Get your **Username** and **Access Key** from the [TestMu AI Dashboard](https://www.testmuai.com/login/?redirectTo=https://accounts.lambdatest.com/dashboard). +3. Install an AI coding assistant: [Claude Code](https://claude.ai/code), [GitHub Copilot](https://github.com/features/copilot), [Cursor](https://cursor.sh/), [Gemini CLI](https://github.com/google-gemini/gemini-cli), or any compatible tool. + +## Step 1: Install the XCUITest Agent Skill +--- + +Clone the repository and copy the XCUITest skill into your AI tool's skills directory. + +```bash +git clone https://github.com/LambdaTest/agent-skills.git + +# For Claude Code +cp -r agent-skills/xcuitest-skill .claude/skills/ + +# For Cursor +cp -r agent-skills/xcuitest-skill .cursor/skills/ + +# For GitHub Copilot +cp -r agent-skills/xcuitest-skill .github/skills/ + +# For Gemini CLI +cp -r agent-skills/xcuitest-skill .gemini/skills/ +``` + +:::tip +Install **all available framework skills** at once by cloning the repository directly into your tool's skills directory (e.g., `.claude/skills/`, `.cursor/skills/`). +::: + +## Step 2: Set Your Credentials +--- + +Add your TestMu AI credentials as environment variables so the generated tests can authenticate with the real device cloud. + +Visit the [TestMu AI Dashboard](https://www.testmuai.com/login/?redirectTo=https://accounts.lambdatest.com/dashboard), navigate to the left sidebar, and select **Credentials**. Copy your **Username** and **Access Key**, then run: + +```bash +export LT_USERNAME="YOUR_LAMBDATEST_USERNAME" +export LT_ACCESS_KEY="YOUR_LAMBDATEST_ACCESS_KEY" +``` + +## Step 3: Run Your First Test +--- + +Ask your AI assistant to write tests in natural language. + +``` +"Write an XCUITest for my iOS app's login screen and run it on TestMu AI real devices" +``` + +``` +"Set up an XCUITest project in Swift with a table view test and run it on TestMu AI" +``` + +``` +"Run my XCUITest suite across an iPhone 15 and an iPhone 14 in parallel on TestMu AI, tag the build as 'release-v1.0'" +``` + +The Agent Skill automatically handles: + +1. **Project setup** - Creates the right Xcode test target, build settings, and scheme configuration +2. **Language detection** - Maps your request to Swift or Objective-C +3. **Execution target** - Configures local or TestMu AI real-device execution based on your request +4. **Best practices** - Uses XCUITest idioms (XCUIElement queries, XCUIElementQuery, expectations) for reliable synchronization + +## What's Included in the XCUITest Skill +--- + +A breakdown of everything the skill package contains. + +``` +xcuitest-skill/ +├── SKILL.md +└── reference/ + ├── playbook.md + └── advanced-patterns.md +``` + +| Section | Details | +|---------|---------| +| **Project Setup** | Xcode test target, build settings, scheme configuration | +| **Core Patterns** | Complete, runnable code examples with best practices | +| **Cloud Integration** | TestMu AI real-device capabilities and app-upload configuration | +| **CI/CD Integration** | GitHub Actions workflows with reporting and parallel execution | +| **Debugging Guide** | Common build and test errors mapped to solutions | +| **Best Practices** | Actionable recommendations for production iOS test code | + +## Supported AI Tools +--- + +Pick the tool you use and install the skill to the corresponding path. + +| Tool | Type | Installation Path | +|------|------|-------------------| +| Claude Code | CLI | `.claude/skills/` | +| GitHub Copilot | Extension | `.github/skills/` | +| Cursor | IDE | `.cursor/skills/` | +| Gemini CLI | CLI | `.gemini/skills/` | +| Codex CLI | CLI | `.codex/skills/` | +| OpenCode | CLI | `.opencode/skills/` | +| Claude.ai | Web | Settings > Features > Skills | + +## Next Steps +--- + +Continue with these related guides: + +- [Run Your First XCUITest](/support/docs/getting-started-with-xcuitest/) +- [XCUITest Supported Capabilities](/support/docs/xcui-supported-capabilities/) +- [Creating iOS Applications](/support/docs/ios-ipa-files-xcui/) + + diff --git a/sidebars-unified.js b/sidebars-unified.js index 569e4943d..eb77b0872 100644 --- a/sidebars-unified.js +++ b/sidebars-unified.js @@ -29,7 +29,7 @@ const docsSidebar = [ items: [ { type: 'category', label: 'Appium Testing', collapsible: true, collapsed: true, items: items(s.AppiumTestingSidebar) }, { type: 'category', label: 'Espresso Testing', collapsible: true, collapsed: true, items: items(s.EspressoTestingSidebar) }, - { type: 'category', label: 'XCUI Testing', collapsible: true, collapsed: true, items: items(s.XCUITestingSidebar) }, + { type: 'link', label: 'XCUI Testing', href: '/docs/getting-started-with-xcuitest/' }, { type: 'category', label: 'Flutter Testing', collapsible: true, collapsed: true, items: items(s.FlutterTestingSidebar) }, { type: 'category', label: 'Virtual Devices', collapsible: true, collapsed: true, items: items(s.EmuSimuSidebar) }, ], @@ -130,7 +130,13 @@ const backToDocs = { }; const TestManagerSidebar = [backToDocs, ...items(s.TestManagerSidebar)]; +// Dedicated sidebar for XCUI Testing. The XCUI Testing entry in docsSidebar is a +// link (above), so these docs live ONLY here — Docusaurus displays this dedicated +// sidebar whenever a reader is inside XCUI Testing. +const XCUITestingSidebar = [backToDocs, ...items(s.XCUITestingSidebar)]; + module.exports = { docsSidebar, TestManagerSidebar, + XCUITestingSidebar, }; diff --git a/sidebars.js b/sidebars.js index a3db6fbdf..2c7345a42 100644 --- a/sidebars.js +++ b/sidebars.js @@ -2904,7 +2904,7 @@ module.exports = { ], ], - XCUITestingSidebar: [ + XCUITestingSidebar: [ { type: 'link', label: 'Back', @@ -2914,60 +2914,26 @@ module.exports = { }, }, [ - { - type: "doc", - label: "Getting Started with XCUI Testing", - id: "getting-started-with-xcui-testing", - }, - { - type: "doc", - label: "Supported Capabilities", - id: "xcui-supported-capabilities", - }, - { - type: "doc", - label: "RegEx in XCUI", - id: "regular-expression-xcui", - }, - { - type: "doc", - label: "Supported Locales", - id: "supported-locales-xcui", - }, - { - type: "doc", - label: "Creating iOS Applications", - id: "ios-ipa-files-xcui", - }, { type: "category", - collapsed: true, - label: "Speedup XCUI Tests", - items: ["sharding-xcui", "speedup-xcui"], - }, - { - type: "doc", - label: "XCTestPlan", - id: "xctestplan", - }, - { - type: "doc", - label: "Xml Report", - id: "xcui-xml-report", - }, - { - type: "doc", - label: "XCResult", - id: "xcresult", - }, - { - type: "doc", - label: "SmartUI Visual Regression", - id: "xcui-visual-regression", + collapsed: false, + label: "Getting Started", + className: "menu-bold", + items: [ + "getting-started-with-xcui-testing", + "xcuitest-agent-skills", + "xcui-supported-capabilities", + "xcui-xml-report", + "xctestplan", + ], }, + { type: "doc", id: "regular-expression-xcui", className: "menu-bold" }, + { type: "doc", id: "supported-locales-xcui", className: "menu-bold" }, + { type: "doc", id: "ios-ipa-files-xcui", className: "menu-bold" }, + { type: "doc", id: "sharding-xcui", className: "menu-bold" }, ], ], - + FlutterTestingSidebar: [ { type: "link", diff --git a/src/css/custom.css b/src/css/custom.css index c9e959039..2a3a3d09f 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -90,16 +90,14 @@ .bugFixTagColor{color: #ffffff; background-color: var(--bugFix-tag-color); font-weight:bold; margin: -2px 3px; font-size: 12px; padding: 5px 10px; border-radius: 20px; border:1px solid var(--bugFix-tag-color)} .newReleaseColor{color: #ffffff; background-color: var(--newReleaseColor-tag-color); font-weight:bold; font-size: 12px; padding: 2px 6px; border-radius: 20px; border:1px solid var(--newReleaseColor-tag-color)} .featureColor{color: #ffffff; background-color: var(--featureColor-tag-color); font-weight:bold; font-size: 12px; padding: 2px 6px; border-radius: 20px; border:1px solid var(--featureColor-tag-color)} -.realDeviceColor{color: #ffffff; background-color: var(--realDevice-tag-color); font-weight:bold; font-size: 12px; padding: 2px 6px; border-radius: 20px; border:1px solid var(--realDevice-tag-color);width: 100px;text-align: center;display: block;} -.virtualDeviceColor{color: #ffffff; background-color: var(--virtualDevice-tag-color); font-weight:bold; font-size: 12px; padding: 2px 6px; border-radius: 20px; border:1px solid var(--virtualDevice-tag-color);width: 100px;text-align: center;display: block;} +.realDeviceColor{color: #3C4257; background-color: #F6F8FA; font-weight:500; font-size: 12px; padding: 3px 10px; border-radius: 6px; border:1px solid #D0D7DE;text-align: center;display: inline-block;margin-right: 6px;} +.virtualDeviceColor{color: #3C4257; background-color: #F6F8FA; font-weight:500; font-size: 12px; padding: 3px 10px; border-radius: 6px; border:1px solid #D0D7DE;text-align: center;display: inline-block;margin-right: 6px;} .androidDeviceColor{color: #ffffff; background-color: var(--androidDevice-tag-color); font-weight:bold; font-size: 12px; padding: 2px 6px; border-radius: 20px; border:1px solid var(--androidDevice-tag-color)} .iosDeviceColor{color: #ffffff; background-color: var(--iosDevice-tag-color); font-weight:bold; font-size: 12px; padding: 2px 6px; border-radius: 20px; border:1px solid var(--iosDevice-tag-color)} .verifiedTagColor{color: var(--verified-tag-color); background-color: var(--verified-tag-bg-color); font-weight:600; font-size: 12px; padding: 2px 8px; border-radius: 20px; border:1px solid var(--verified-tag-border-color); display: inline-flex; align-items: center; gap: 4px; line-height: 1.5;} .verifiedTagColor + div[class*='codeBlockContainer'], .verifiedTagColor + div[class*='language-']{margin-top: 6px;} .verifiedTagIcon{flex-shrink: 0;} -.virtualDeviceColor + span.realDeviceColor{margin-top: 10px;} -.virtualDeviceColor + span.virtualDeviceColor{margin-top: 10px;} -.realDeviceColor + span.virtualDeviceColor{margin-top: 10px;} +/* pills render inline, side-by-side; horizontal spacing via margin-right above */ [data-theme=dark] .footer__title { @@ -218,8 +216,8 @@ body { position: relative; } -/* Bold sidebar items — scoped to Test Manager only via the `menu-bold` class, - which is applied exclusively to TestManagerSidebar items (see sidebars.js). +/* Bold sidebar items via the `menu-bold` class, applied to top-level + TestManagerSidebar and XCUITestingSidebar items (see sidebars.js). Covers standalone docs AND collapsible category labels, so no global sidebar rule is needed and other product sidebars are unaffected. */ .menu-bold > .menu__link, From 0376dabdd67e29e9c413d56dcf59558b66b90437 Mon Sep 17 00:00:00 2001 From: salmank Date: Sun, 18 Oct 2026 18:15:04 +0530 Subject: [PATCH 2/5] docs(xcui): add "End-to-End (E2E) testing" keyword to intro Sync the E2E SEO wording from stage (226187d24) into the XCUITest intro. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/getting-started-with-xcuitest.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started-with-xcuitest.md b/docs/getting-started-with-xcuitest.md index e5c1e150a..fdc122f02 100644 --- a/docs/getting-started-with-xcuitest.md +++ b/docs/getting-started-with-xcuitest.md @@ -228,7 +228,7 @@ import VerifiedTag from '@site/src/component/verifiedTag'; Running XCUITest on TestMu AI executes Apple's XCTest-based UI automation for your iOS apps across 5000+ real devices and OS combinations. Upload your app and test bundle, configure capabilities, trigger the run, and review results on the TestMu AI dashboard. -Developed by Apple, XCUITest is a framework for user-interface (UI) testing for iOS applications. It is built on top of XCTest, an integrated test framework in Apple's Xcode IDE. lets you perform automated app testing of your iOS apps using XCUITest across 5000+ real devices and OS combinations. +Developed by Apple, XCUITest is a UI testing framework for iOS applications, commonly used for End-to-End (E2E) testing of app user flows. It is built on top of XCTest, an integrated test framework in Apple's Xcode IDE. lets you perform automated app testing of your iOS apps using XCUITest across 5000+ real devices and OS combinations. ## Prerequisites From bd9d4b1c73be879d699e49cdadfc4ccec6aa3613 Mon Sep 17 00:00:00 2001 From: salmank Date: Sun, 18 Oct 2026 19:09:38 +0530 Subject: [PATCH 3/5] docs: align Article schema headline with page title Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/getting-started-with-xcuitest.md | 2 +- docs/ios-ipa-files-xcui.md | 2 +- docs/regular-expression-xcui.md | 2 +- docs/sharding-xcui.md | 2 +- docs/supported-locales-xcui.md | 2 +- docs/xctestplan.md | 2 +- docs/xcui-supported-capibilities.md | 2 +- docs/xcui-xml-report.md | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/getting-started-with-xcuitest.md b/docs/getting-started-with-xcuitest.md index fdc122f02..f18b6d1be 100644 --- a/docs/getting-started-with-xcuitest.md +++ b/docs/getting-started-with-xcuitest.md @@ -62,7 +62,7 @@ import VerifiedTag from '@site/src/component/verifiedTag'; "@type": "WebPage", "@id": "https://www.testmuai.com/support/docs/getting-started-with-xcuitest/" }, - "headline": "XCUI Testing on TestMu AI", + "headline": "How to Run XCUITest on TestMu AI", "description": "Master XCUITest automation with TestMu AI! Learn to run scripts, utilize capabilities, and execute tests on real iOS devices effortlessly. Get started now!", "url": "https://www.testmuai.com/support/docs/getting-started-with-xcuitest/", "image": { diff --git a/docs/ios-ipa-files-xcui.md b/docs/ios-ipa-files-xcui.md index 0e1e8c6ec..0cb07d651 100644 --- a/docs/ios-ipa-files-xcui.md +++ b/docs/ios-ipa-files-xcui.md @@ -61,7 +61,7 @@ import BrandName, { BRAND_URL } from '@site/src/component/BrandName'; "@type": "WebPage", "@id": "https://www.testmuai.com/support/docs/ios-ipa-files-xcui/" }, - "headline": "Creating iOS Applications", + "headline": "How to Create iOS IPA Files on TestMu AI", "description": "Effortlessly test iOS IPA files with XCUi on TestMu AI. Ensure your apps run smoothly on all iOS devices with comprehensive testing support.", "url": "https://www.testmuai.com/support/docs/ios-ipa-files-xcui/", "image": { diff --git a/docs/regular-expression-xcui.md b/docs/regular-expression-xcui.md index c9fd3eb81..004114d37 100644 --- a/docs/regular-expression-xcui.md +++ b/docs/regular-expression-xcui.md @@ -54,7 +54,7 @@ import VerifiedTag from '@site/src/component/verifiedTag'; "@type": "WebPage", "@id": "https://www.testmuai.com/support/docs/regular-expression-xcui/" }, - "headline": "Regular Expression - XCUI", + "headline": "How to Use Regular Expressions for XCUI on TestMu AI", "description": "There may be instances when the device you chose for a test on TestMu AI is not available. In these scenarios, REGEX will help you widen the search request for devices to run the test on.", "url": "https://www.testmuai.com/support/docs/regular-expression-xcui/", "image": { diff --git a/docs/sharding-xcui.md b/docs/sharding-xcui.md index d16e2cd25..2202e4ff1 100644 --- a/docs/sharding-xcui.md +++ b/docs/sharding-xcui.md @@ -66,7 +66,7 @@ import VerifiedTag from '@site/src/component/verifiedTag'; "@type": "WebPage", "@id": "https://www.testmuai.com/support/docs/sharding-rd-hyperexec/" }, - "headline": "Sharding for XCUI", + "headline": "How to Shard XCUI Tests on TestMu AI", "description": "This document will cover how to execute XCUI Tests on real devices with HyperExecute. Before starting, please make sure you have App Automation and HyperExecute Cloud plans on your account.", "url": "https://www.testmuai.com/support/docs/sharding-rd-hyperexec/", "image": { diff --git a/docs/supported-locales-xcui.md b/docs/supported-locales-xcui.md index c1995241e..4bfba076c 100644 --- a/docs/supported-locales-xcui.md +++ b/docs/supported-locales-xcui.md @@ -53,7 +53,7 @@ import VerifiedTag from '@site/src/component/verifiedTag'; "@type": "WebPage", "@id": "https://www.testmuai.com/support/docs/supported-locales-xcui/" }, - "headline": "Supported Locales And Languages - XCUI", + "headline": "Supported Locales and Languages for XCUI on TestMu AI", "description": "Checkout the list of all supported locales", "url": "https://www.testmuai.com/support/docs/supported-locales-xcui/", "image": { diff --git a/docs/xctestplan.md b/docs/xctestplan.md index 915819465..4e4d9ef5c 100644 --- a/docs/xctestplan.md +++ b/docs/xctestplan.md @@ -66,7 +66,7 @@ import VerifiedTag from '@site/src/component/verifiedTag'; "@type": "WebPage", "@id": "https://www.testmuai.com/support/docs/xctestplan/" }, - "headline": "XCTestPlan", + "headline": "What Is XCTestPlan on TestMu AI", "description": "Manage iOS, iPadOS, macOS, watchOS, and tvOS tests with XCTestPlan on TestMu AI. Learn how to upload apps, configure tests, and view execution logs efficiently.", "url": "https://www.testmuai.com/support/docs/xctestplan/", "image": { diff --git a/docs/xcui-supported-capibilities.md b/docs/xcui-supported-capibilities.md index 0ee3ce3da..fb761b3e1 100644 --- a/docs/xcui-supported-capibilities.md +++ b/docs/xcui-supported-capibilities.md @@ -60,7 +60,7 @@ import VirtualDeviceTag from '@site/src/component/virtualDevice'; "@type": "WebPage", "@id": "https://www.testmuai.com/support/docs/xcui-supported-capabilities/" }, - "headline": "XCUI Supported Capabilities", + "headline": "XCUI Supported Capabilities on TestMu AI", "description": "Now you can run your XCUI framework on TestMu AI online grid of 3000+ real desktop browsers and real operating systems with its supported capabilities.", "url": "https://www.testmuai.com/support/docs/xcui-supported-capabilities/", "image": { diff --git a/docs/xcui-xml-report.md b/docs/xcui-xml-report.md index e616ce482..a9f12a747 100644 --- a/docs/xcui-xml-report.md +++ b/docs/xcui-xml-report.md @@ -63,7 +63,7 @@ import VerifiedTag from '@site/src/component/verifiedTag'; "@type": "WebPage", "@id": "https://www.testmuai.com/support/docs/xcui-report/" }, - "headline": "XCUI XML Reports", + "headline": "How to Get XCUI XML Reports on TestMu AI", "description": "XCUI XML Report", "url": "https://www.testmuai.com/support/docs/xcui-report/", "image": { From e37f1d9d119aaaeef626324787fc2dc325a4fb7b Mon Sep 17 00:00:00 2001 From: salmank Date: Sun, 25 Oct 2026 19:34:37 +0530 Subject: [PATCH 4/5] Synced XCUI docs --- sidebars-unified.js | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/sidebars-unified.js b/sidebars-unified.js index 3cfe6c300..3e5fcf337 100644 --- a/sidebars-unified.js +++ b/sidebars-unified.js @@ -98,7 +98,6 @@ const BiDiTestingSidebar = [backToDocs, { type: 'doc', id: 'run-tests-with-webdr // App Automation const AppiumTestingSidebar = dedicated(s.AppiumTestingSidebar); const EspressoTestingSidebar = dedicated(s.EspressoTestingSidebar); -const XCUITestingSidebar = dedicated(s.XCUITestingSidebar); const FlutterTestingSidebar = dedicated(s.FlutterTestingSidebar); const VirtualDevicesSidebar = dedicated(s.EmuSimuSidebar); @@ -160,17 +159,6 @@ const SettingsAndSecuritySidebar = [ }, ]; -// Dedicated sidebar for Test Manager. Because the Test Manager entry in -// docsSidebar is now a link (above), these docs live ONLY here — so Docusaurus -// displays this dedicated sidebar whenever a reader is inside Test Manager. -const backToDocs = { - type: 'link', - label: '← All Docs', - href: '/docs/', - customProps: { className: 'back-to-main-menu' }, -}; -const TestManagerSidebar = [backToDocs, ...items(s.TestManagerSidebar)]; - // Dedicated sidebar for XCUI Testing. The XCUI Testing entry in docsSidebar is a // link (above), so these docs live ONLY here — Docusaurus displays this dedicated // sidebar whenever a reader is inside XCUI Testing. @@ -207,5 +195,4 @@ module.exports = { AgentTestingSidebar, RealDeviceSidebar, TestManagerSidebar, - XCUITestingSidebar, }; From 47fead843f13a24dc67401b0749b89af02b012db Mon Sep 17 00:00:00 2001 From: salmank Date: Mon, 26 Oct 2026 14:15:33 +0530 Subject: [PATCH 5/5] Fix stage merge: restore XCUITest intro, restore sidebar exports Co-Authored-By: Claude Sonnet 5.5 --- docs/getting-started-with-xcuitest.md | 3 +++ sidebars-unified.js | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/docs/getting-started-with-xcuitest.md b/docs/getting-started-with-xcuitest.md index cb2551986..1fdfde019 100644 --- a/docs/getting-started-with-xcuitest.md +++ b/docs/getting-started-with-xcuitest.md @@ -225,6 +225,9 @@ import VerifiedTag from '@site/src/component/verifiedTag'; /> + +Running XCUITest on TestMu AI executes Apple's XCTest-based UI automation for your iOS apps across 50,000+ real devices and OS combinations. Upload your app and test bundle, configure capabilities, trigger the run, and review results on the TestMu AI dashboard. + Developed by Apple, XCUITest is a UI testing framework for iOS applications, commonly used for End-to-End (E2E) testing of app user flows. It is built on top of XCTest, an integrated test framework in Apple's Xcode IDE. lets you perform automated app testing of your iOS apps using XCUITest across 50,000+ real devices and OS combinations. ## Prerequisites diff --git a/sidebars-unified.js b/sidebars-unified.js index 769df925b..171c0aeb1 100644 --- a/sidebars-unified.js +++ b/sidebars-unified.js @@ -198,4 +198,19 @@ module.exports = { AgentTestingSidebar, RealDeviceSidebar, TestManagerSidebar, + MCPServerSidebar, + IntegrationsSidebar, + AccessibilityTestingSidebar, + LocalhostTestingSidebar, + SettingsAndSecuritySidebar, + + // Insights + InsightsSidebar, + + // Other Docs + VisualUITestingSidebar, + LTBrowserSidebar, + MigrationGuideSidebar, + ConcurrencyWidgetSidebar, + TestLogsSidebar, };