Skip to content
89 changes: 26 additions & 63 deletions docs/getting-started-with-xcuitest.md
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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';


Expand All @@ -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/`
}]
})
Expand All @@ -61,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": {
Expand Down Expand Up @@ -222,7 +223,11 @@ import VerifiedTag from '@site/src/component/verifiedTag';
}
]) }}
/>

<RealDeviceTag value="Real Device" /> <VirtualDeviceTag value="Virtual Device" />

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. <BrandName /> lets you perform automated app testing of your iOS apps using XCUITest across 50,000+ real devices and OS combinations.

## Prerequisites
Expand Down Expand Up @@ -339,15 +344,15 @@ 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.
:::

<VerifiedTag value="Verified" />

<Tabs className="docs__val">

<TabItem value="real-device" label="Real Device" default>

<Tabs className="docs__val">

<TabItem value="bash" label="Linux / MacOS" default>
<VerifiedTag value="Verified" />

<div className="lambdatest__codeblock">
<CodeBlock className="language-bash">

Expand All @@ -373,8 +378,10 @@ curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/x
</TabItem>

<TabItem value="powershell" label="Windows" default>
<VerifiedTag value="Verified" />

<div className="lambdatest__codeblock">
<CodeBlock className="lamguage-powershell">
<CodeBlock className="language-powershell">

```bash
curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/xcui/build" ^
Expand Down Expand Up @@ -421,7 +428,7 @@ curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/x

<TabItem value="powershell" label="Windows" default>
<div className="lambdatest__codeblock">
<CodeBlock className="lamguage-powershell">
<CodeBlock className="language-powershell">

```bash
curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/xcui/build" ^
Expand Down Expand Up @@ -453,15 +460,15 @@ 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.
:::

<VerifiedTag value="Verified" />

<Tabs className="docs__val">

<TabItem value="real-device" label="Real Device" default>

<Tabs className="docs__val">

<TabItem value="bash" label="Linux / MacOS" default>
<VerifiedTag value="Verified" />

<div className="lambdatest__codeblock">
<CodeBlock className="language-bash">

Expand All @@ -487,8 +494,10 @@ curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/x
</TabItem>

<TabItem value="powershell" label="Windows" default>
<VerifiedTag value="Verified" />

<div className="lambdatest__codeblock">
<CodeBlock className="lamguage-powershell">
<CodeBlock className="language-powershell">

```bash
curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/xcui/build" ^
Expand Down Expand Up @@ -535,7 +544,7 @@ curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/x

<TabItem value="powershell" label="Windows" default>
<div className="lambdatest__codeblock">
<CodeBlock className="lamguage-powershell">
<CodeBlock className="language-powershell">

```bash
curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/xcui/build" ^
Expand All @@ -552,52 +561,6 @@ curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/x
</TabItem>
</Tabs>


## 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:

<VerifiedTag value="Verified" />

```
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:

<VerifiedTag value="Verified" />

```
# 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/).

<nav aria-label="breadcrumbs">
<ul className="breadcrumbs">
<li className="breadcrumbs__item">
Expand All @@ -612,8 +575,8 @@ cp -r agent-skills/xcuitest-skill .cursor/skills/
</li>
<li className="breadcrumbs__item breadcrumbs__item--active">
<span className="breadcrumbs__link">
XCUI Testing
How to Run XCUITest on TestMu AI
</span>
</li>
</ul>
</nav>
</nav>
13 changes: 7 additions & 6 deletions docs/ios-ipa-files-xcui.md
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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';
Expand All @@ -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/`
}]
})
Expand All @@ -60,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": {
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -241,7 +242,7 @@ This process will overwrite the **Build settings** at the Project Level to the g
</li>
<li className="breadcrumbs__item breadcrumbs__item--active">
<span className="breadcrumbs__link">
XCUI Testing
How to Create iOS IPA Files on TestMu AI
</span>
</li>
</ul>
Expand Down
18 changes: 11 additions & 7 deletions docs/regular-expression-xcui.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
---
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
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';


Expand All @@ -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/`
}]
})
Expand All @@ -53,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": {
Expand Down Expand Up @@ -114,7 +115,11 @@ import VerifiedTag from '@site/src/component/verifiedTag';
"dateModified": "2026-09-09T19:10:37+05:30"
}) }}
/>

<RealDeviceTag value="Real Device" />

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 <BrandName /> 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.
Expand All @@ -132,7 +137,6 @@ Usual way to pass the `deviceName` and `platformVersion` looks like this: <br/>
```

Passing `deviceName` using REGEX:<br/>

<VerifiedTag value="Verified" />

```java
Expand Down
Loading
Loading