diff --git a/docs/appium-flutter-integration.md b/docs/appium-flutter-integration.md index c235f01ab..c67c8ebe6 100644 --- a/docs/appium-flutter-integration.md +++ b/docs/appium-flutter-integration.md @@ -1,8 +1,9 @@ --- id: appium-flutter-integration -title: Appium Flutter Integration Driver Testing -sidebar_label: Flutter Integration Driver -description: Guide to testing Flutter apps using Appium Flutter Integration Driver on TestMu AI real device cloud. +title: How to Test Flutter Apps With Appium on TestMu AI +hide_title: true +sidebar_label: "Appium Flutter Integration Driver Testing" +description: Test Flutter apps using the Appium Flutter Integration Driver on TestMu AI real device cloud, across Android and iOS. keywords: - flutter app testing - appium flutter integration @@ -14,16 +15,17 @@ url: https://www.testmuai.com/support/docs/appium-flutter-integration/ site_name: TestMu AI slug: appium-flutter-integration/ canonical: https://www.testmuai.com/support/docs/appium-flutter-integration/ +toc_max_heading_level: 2 --- import CodeBlock from '@theme/CodeBlock'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; 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 RealDeviceTag from '@site/src/component/realDevice'; +import VirtualDeviceTag from '@site/src/component/virtualDevice'; import VerifiedTag from '@site/src/component/verifiedTag'; + +# How to Run Flutter Tests With Agent Skills on TestMu AI +--- + + +Flutter Agent Skills on let your AI coding assistant generate production-ready Flutter and Dart mobile automation from natural-language prompts. The flutter-skill package teaches assistants correct project structure, Dart dependencies, and driver configuration, then runs tests on real devices. + +Instead of manually wiring up your Flutter test project, use **Agent Skills** to let your AI coding assistant generate production-ready Flutter and Dart mobile automation for you. The [flutter-skill](https://github.com/LambdaTest/agent-skills/tree/main/flutter-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 mobile QA automation architect with knowledge of: + +- Proper Flutter integration test and Appium Flutter driver project structure +- Correct Dart dependencies and driver 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 Flutter Agent Skill +--- + +Clone the repository and copy the Flutter 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/flutter-skill .claude/skills/ + +# For Cursor +cp -r agent-skills/flutter-skill .cursor/skills/ + +# For GitHub Copilot +cp -r agent-skills/flutter-skill .github/skills/ + +# For Gemini CLI +cp -r agent-skills/flutter-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 a Flutter integration test for my app's login screen and run it on TestMu AI real devices" +``` + +``` +"Set up an Appium Flutter driver project in Dart and run it on TestMu AI" +``` + +``` +"Run my Flutter test across a Pixel 7 and an iPhone 15 in parallel on TestMu AI, tag the build as 'release-v1.0'" +``` + +The Agent Skill automatically handles: + +1. **Project setup** - Creates the right Flutter/Dart dependencies, driver configuration, and project structure +2. **Approach detection** - Maps your request to Flutter integration tests or the Appium Flutter driver +3. **Execution target** - Configures local, real-device, or virtual-device execution on TestMu AI based on your request +4. **Best practices** - Uses stable finders, proper waits, and reliable synchronization patterns + +## What's Included in the Flutter Skill +--- + +A breakdown of everything the skill package contains. + +``` +flutter-skill/ +├── SKILL.md +└── reference/ + ├── playbook.md + └── advanced-patterns.md +``` + +| Section | Details | +|---------|---------| +| **Project Setup** | Dart dependencies, driver configuration, project structure | +| **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 driver errors mapped to solutions | +| **Best Practices** | Actionable recommendations for production Flutter 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 Flutter Test](/support/docs/testing-flutter-apps/) +- [Flutter Supported Capabilities](/support/docs/flutter-supported-capabilities/) +- [Appium Flutter Integration Driver Testing](/support/docs/appium-flutter-integration/) + + diff --git a/docs/flutter-supported-capabilities.md b/docs/flutter-supported-capabilities.md index 49a7e4119..c91fcd606 100644 --- a/docs/flutter-supported-capabilities.md +++ b/docs/flutter-supported-capabilities.md @@ -1,6 +1,6 @@ --- id: flutter-supported-capabilities -title: Flutter Supported Capabilities +title: Flutter Supported Capabilities on TestMu AI sidebar_label: Supported Capabilities description: Now you can run your Flutter framework on TestMu AI online grid of 3000+ real desktop browsers and real operating systems with its supported capabilities. keywords: @@ -15,6 +15,7 @@ url: https://www.testmuai.com/support/docs/flutter-supported-capabilities/ site_name: TestMu AI slug: flutter-supported-capabilities/ canonical: https://www.testmuai.com/support/docs/flutter-supported-capabilities/ +toc_max_heading_level: 2 --- import CodeBlock from '@theme/CodeBlock'; @@ -39,7 +40,7 @@ import BrandName, { BRAND_URL } from '@site/src/component/BrandName'; },{ "@type": "ListItem", "position": 3, - "name": "Espresso Supported Capabilities", + "name": "Flutter Supported Capabilities on TestMu AI", "item": `${BRAND_URL}/support/docs/flutter-supported-capabilities/` }] }) @@ -57,7 +58,7 @@ import BrandName, { BRAND_URL } from '@site/src/component/BrandName'; "@type": "WebPage", "@id": "https://www.testmuai.com/support/docs/flutter-supported-capabilities/" }, - "headline": "Flutter Supported Capabilities", + "headline": "Flutter Supported Capabilities on TestMu AI", "description": "Now you can run your Flutter 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/flutter-supported-capabilities/", "image": { @@ -103,7 +104,7 @@ import BrandName, { BRAND_URL } from '@site/src/component/BrandName'; }) }} /> -This document provide details about the features and capabilities supported for Espresso Framework on . +Flutter supported capabilities on TestMu AI let you configure Flutter mobile app tests on real Android devices, controlling the app, test suite, device, video, timeouts, device logs, build name, permissions, geolocation, GPS coordinates, and Bluetooth for reliable end-to-end automation runs. | Capability Name | Data Type | Description | |------|-----------|-------------| diff --git a/docs/getting-started-with-flutter-dart-android-automation.md b/docs/getting-started-with-flutter-dart-android-automation.md index 335bb002c..56744d745 100644 --- a/docs/getting-started-with-flutter-dart-android-automation.md +++ b/docs/getting-started-with-flutter-dart-android-automation.md @@ -1,7 +1,7 @@ --- id: getting-started-with-flutter-dart-android-automation -title: Flutter Dart Testing On TestMu AI - Android -sidebar_label: Flutter Dart Android +title: How to Run Flutter Dart Tests on TestMu AI - Android +sidebar_label: "Flutter Dart Testing - Android" description: This guide shows you how to run your first Flutter Dart test on real Android devices using TestMu AI's Real Device Cloud of 50,000+ devices. keywords: - flutter @@ -13,15 +13,15 @@ url: https://www.testmuai.com/support/docs/getting-started-with-flutter-dart-and site_name: TestMu AI slug: getting-started-with-flutter-dart-android-automation/ canonical: https://www.testmuai.com/support/docs/getting-started-with-flutter-dart-android-automation// +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 Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import BrandName, { BRAND_URL } from '@site/src/component/BrandName'; +import RealDeviceTag from '@site/src/component/realDevice'; import VerifiedTag from '@site/src/component/verifiedTag'; @@ -42,7 +42,7 @@ import VerifiedTag from '@site/src/component/verifiedTag'; },{ "@type": "ListItem", "position": 3, - "name": "Getting Started With Flutter Tests on TestMu AI", + "name": "How to Run Flutter Dart Tests on TestMu AI - Android", "item": `${BRAND_URL}/support/docs/getting-started-with-flutter-dart-android-automation/` }] }) @@ -60,7 +60,7 @@ import VerifiedTag from '@site/src/component/verifiedTag'; "@type": "WebPage", "@id": "https://www.testmuai.com/support/docs/getting-started-with-flutter-dart-android-automation/" }, - "headline": "Flutter Dart Testing On TestMu AI - Android", + "headline": "How to Run Flutter Dart Tests on TestMu AI - Android", "description": "This guide shows you how to run your first Flutter Dart test on real Android devices using TestMu AI's Real Device Cloud of 50,000+ devices.", "url": "https://www.testmuai.com/support/docs/getting-started-with-flutter-dart-android-automation/", "image": { @@ -220,12 +220,16 @@ import VerifiedTag from '@site/src/component/verifiedTag'; } ]) }} /> - -Flutter, an open-source UI toolkit created by Google, is a popular choice among developers to build natively compiled applications for mobile, web, and desktop from a single codebase. With Dart as its programming language, Flutter enables fast development of beautiful apps with a highly productive, extensible and open-source set of features. -In this guide, we will explore how to run Flutter Dart End-to-End (E2E) testing on an Android device using the Real Device Cloud. By combining the capabilities of Flutter Dart and , you can ensure the proper functioning of your app across different devices and make your app more reliable and robust. + -## Prerequisites for Getting Started +Running your first Flutter Dart test on TestMu AI runs End-to-End (E2E) testing of Flutter apps on real Android devices in the cloud. Install the Flutter SDK, set credentials, upload the sample app and test suite, then execute and review results on the dashboard. + +## Flutter Dart Testing on Android + +In this section, we will run Flutter Dart End-to-End (E2E) testing on an **Android** device using the Real Device Cloud. + +### Prerequisites for Getting Started 1. Flutter SDK installed on your system 2. You will need a username and access key. To obtain your access credentials, [purchase a plan](https://billing.lambdatest.com/billing/plans) or access the [automation dashboard](https://www.testmuai.com/login/?redirectTo=https://appautomation.lambdatest.com/). @@ -237,9 +241,9 @@ If you do not have any **Flutter Android** app (.apk) and an **Flutter Test Suit ::: -## Run Your First Test +### Run Your First Test -### Step 1: Create your Android Flutter app and test suite for testing +#### Step 1: Create your Android Flutter app and test suite for testing For testing, you need to build a Flutter app and test suite. You can create Flutter applications and test suites using either Flutter cli or Gradlew. The steps below demonstrate how to create apks with Gradlew. - Create an instrumentation test file in your application's directory `android/app/src/androidTest/java/com/example/lambdatestSampleApp/`. Replace **com**, **example**, and **lambdatestSampleApp** values with those from your app's package name. @@ -316,7 +320,7 @@ Next, look for gradlew execution in the logs. The above command generates a grad gradlew --full-stacktrace --info -Pverbose=true -Ptarget-platform=android-arm64 -Ptarget=YOUR_APP_PATH/lib/main.dart -Pbase-application-name=android.app.Application -Pdart-obfuscation=false -Pextra-front-end-options=--no-sound-null-safety -Ptrack-widget-creation=true -Ptree-shake-icons=false -Pfilesystem-scheme=org-dartlang-root assembleDebug ``` -### Step 2: Upload Your Application +#### Step 2: Upload Your Application Upload your **android** application (.apk file) to the servers using our **REST API**. You need to provide your **Username** and **AccessKey** in the format `Username:AccessKey` in the **cURL** command for authentication. Make sure to add the path of the **appFile** in the cURL request. Here is an example cURL request to upload your app using our REST API: @@ -358,7 +362,7 @@ Response of above cURL will be a **JSON** object containing the `App URL` of the ::: -### Step 3: Uploading Test Suite +#### Step 3: Uploading Test Suite Upload your **test suite** (.apk file) to the servers using our **REST API**. You need to provide your **Username** and **AccessKey** in the format `Username:AccessKey` in the **cURL** command for authentication. Make sure to add the path of the **appFile** in the cURL request. Here is an example cURL request to upload your app using our REST API: @@ -400,12 +404,12 @@ Response of above cURL will be a **JSON** object containing the `App URL` of the ::: -### Step 4: Executing The Test +#### Step 4: Executing The Test -#### Basic Authentication +##### Basic Authentication :::info -You will need base64 encoded authentication in order to execute your Espresso automation test suite. You need to enter your username:accesskey **[here](https://mixedanalytics.com/knowledge-base/api-connector-encode-credentials-to-base-64/)** in order and click on encode to generate the base64 authentication. Take note of the **base64** encoded authentication which needs to be added in the next step. +You will need base64 encoded authentication in order to execute your Flutter automation test suite. You need to enter your username:accesskey **[here](https://mixedanalytics.com/knowledge-base/api-connector-encode-credentials-to-base-64/)** in order and click on encode to generate the base64 authentication. Take note of the **base64** encoded authentication which needs to be added in the next step. ::: @@ -416,7 +420,7 @@ You will need base64 encoded authentication in order to execute your Espresso au -#### Execute Command +##### Execute Command Once you have uploaded your app and test suite, you need to you can execute your test by running the following command: @@ -424,12 +428,12 @@ Once you have uploaded your app and test suite, you need to you can execute your Make sure to enter your **basic authentication**, **app url** (generated in the first step) and **testSuite url** (generated in the second step) in the below command. ::: - - + +
@@ -454,8 +458,10 @@ curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/f + +
- + ```bash curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/flutter/android/build" --header "Content-Type: application/json" --header "Authorization: Basic " --data-raw "{\"app\" : \"lt://APP_ID\",\"testSuite\": \"lt://APP_ID\",\"device\" : [\"Pixel 6-12\"], \"deviceLog\": true,\"network\": false,\"build\" : \"Sample-Flutter\"}" @@ -467,12 +473,12 @@ curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/f -### Step 5: View Test Execution +#### Step 5: View Test Execution Once you have run your tests, you can view the test execution along with logs. You will be able to see the test cases passing or failing. You can view the same at [ Automation](https://www.testmuai.com/login/?redirectTo=https://appautomation.lambdatest.com/build). -## Running Tests in Parallel +### Running Tests in Parallel You can run tests in parallel on multiple devices by passing the device name in comma separated format in the execute command as show below: @@ -498,7 +504,7 @@ Do note that Flutter builds when run in parallel, result in separate builds bein ::: -## Auto-Grant Permissions for Android Apps +### Auto-Grant Permissions for Android Apps While testing Android apps, user might need to handle various pop-ups or dialogs asking for permissions like contacts, notifications, photos, etc. @@ -522,54 +528,6 @@ curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/f }' ``` - - - -## Using the Flutter Testing Agent Skill with TestMu AI -*** - -The [flutter-testing-skill](https://github.com/LambdaTest/agent-skills/tree/main/flutter-testing-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 flutter-testing-skill package includes: - - - -``` -flutter-testing-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 Flutter Testing Agent Skill -*** - -Install a Flutter Testing 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/flutter-testing-skill .claude/skills/ - -# Or for Cursor / Copilot -cp -r agent-skills/flutter-testing-skill .cursor/skills/ -``` - -**Note**: If you prefer installing all available framework skills instead of only flutter-testing-skill, clone the repository directly into your tool's skills directory (for example, .claude/skills/, .cursor/skills/, .gemini/skills/, or .agent/skills/). -
-#### Execute Command +##### Execute Command Once you have uploaded your test suite, you can execute your test by running the following command: @@ -266,12 +269,12 @@ Once you have uploaded your test suite, you can execute your test by running the Make sure to enter your **basic authentication** and **app id** (generated in the first step) in the below command. ::: - - + +
@@ -297,11 +300,13 @@ curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/f + +
- + ```powershell -curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/flutter/ios/build" --header "Content-Type: application/json" --header "Authorization: Basic " --data-raw "{\"testSuite\": \"lt://APP_ID\",\"device\" : [\"Pixel 6-12\"], \"video\": true, \"deviceLog\": true, \"queueTimeout\" : \"9000\",\"idleTimeout\" : \"600\"\"network\": true,\"build\" : \"Flutter iOS\"}" +curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/flutter/ios/build" --header "Content-Type: application/json" --header "Authorization: Basic " --data-raw "{\"testSuite\": \"lt://APP_ID\",\"device\" : [\"iPhone 14-16\"], \"video\": true, \"deviceLog\": true, \"queueTimeout\" : \"9000\",\"idleTimeout\" : \"600\",\"network\": true,\"build\" : \"Flutter iOS\"}" ``` @@ -310,11 +315,11 @@ curl --location --request POST "https://mobile-api.lambdatest.com/framework/v1/f -### Step 3: View Test Execution +#### Step 3: View Test Execution Once you have run your tests, you can view the test execution along with logs. You will be able to see the test cases passing or failing. You can view the same at [ Automation](https://www.testmuai.com/login/?redirectTo=https://appautomation.lambdatest.com/builds). -## Capabilities Supported +### Capabilities Supported The following capabilities are supported: @@ -336,14 +341,14 @@ Ensure that the latitude is between -90 and 90, and the longitude is between -18 ::: -## Running Tests in Parallel +### Running Tests in Parallel on iOS You can run tests in parallel on multiple devices by passing the device name in comma separated format in the execute command as show below: ```bash -curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/flutter/build' \ +curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/flutter/ios/build' \ --header 'Authorization: Basic ' \ --header 'Content-Type: application/json' \ --data-raw '{ @@ -363,54 +368,6 @@ Do note that Flutter builds when run in parallel, result in separate builds bein ::: - - - -## Using the Flutter Testing Agent Skill with TestMu AI -*** - -The [flutter-testing-skill](https://github.com/LambdaTest/agent-skills/tree/main/flutter-testing-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 flutter-testing-skill package includes: - - - -``` -flutter-testing-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 Flutter Testing Agent Skill -*** - -Install a Flutter Testing 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/flutter-testing-skill .claude/skills/ - -# Or for Cursor / Copilot -cp -r agent-skills/flutter-testing-skill .cursor/skills/ -``` - -**Note**: If you prefer installing all available framework skills instead of only flutter-testing-skill, clone the repository directly into your tool's skills directory (for example, .claude/skills/, .cursor/skills/, .gemini/skills/, or .agent/skills/). - diff --git a/sidebars-unified.js b/sidebars-unified.js index db3d087fd..da7ad171d 100644 --- a/sidebars-unified.js +++ b/sidebars-unified.js @@ -43,12 +43,12 @@ const docsSidebar = [ { type: 'category', label: 'App Automation', collapsible: true, collapsed: true, items: [ - { type: 'link', label: 'Appium Testing', href: '/docs/getting-started-with-appium-testing/' }, - { type: 'link', label: 'Espresso Testing', href: '/docs/getting-started-with-espresso-testing/' }, - { type: 'link', label: 'XCUI Testing', href: '/docs/getting-started-with-xcuitest/' }, + { 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: 'Mobilewright Testing', href: '/docs/mobilewright-overview/' }, - { type: 'link', label: 'Flutter Testing', href: '/docs/appium-flutter-integration/' }, - { type: 'link', label: 'Virtual Devices', href: '/docs/app-automation-on-emulators-simulators/' }, + { type: 'link', label: 'Flutter Testing', href: '/docs/getting-started-with-flutter-dart-android-automation/' }, + { type: 'category', label: 'Virtual Devices', collapsible: true, collapsed: true, items: items(s.EmuSimuSidebar) }, ], }, { type: 'link', label: 'HyperExecute', href: '/docs/getting-started-with-hyperexecute/' }, @@ -99,7 +99,6 @@ const BiDiTestingSidebar = [backToDocs, { type: 'doc', id: 'run-tests-with-webdr // App Automation const EspressoTestingSidebar = dedicated(s.EspressoTestingSidebar); const XCUITestingSidebar = dedicated(s.XCUITestingSidebar); -const FlutterTestingSidebar = dedicated(s.FlutterTestingSidebar); const MobilewrightTestingSidebar = dedicated(s.MobilewrightTestingSidebar); const VirtualDevicesSidebar = dedicated(s.EmuSimuSidebar); @@ -161,6 +160,10 @@ const SettingsAndSecuritySidebar = [ }, ]; +// Dedicated sidebar for Flutter Testing. The Flutter Testing entry in docsSidebar is a +// link (above), so these docs live ONLY here — Docusaurus displays this dedicated +// sidebar whenever a reader is inside Flutter Testing. +const FlutterTestingSidebar = [backToDocs, ...items(s.FlutterTestingSidebar)]; // Appium Testing is a link in docsSidebar (above), so its docs live ONLY in this // dedicated sidebar — Docusaurus displays it (with the back-to-docs link) // whenever a reader is inside an Appium Testing page. diff --git a/sidebars.js b/sidebars.js index bd414fb3b..67f9eb90b 100644 --- a/sidebars.js +++ b/sidebars.js @@ -3320,24 +3320,17 @@ module.exports = { }, [ { - type: "doc", - label: "Getting Started with Flutter Integration Driver", - id: "appium-flutter-integration", - }, - { - type: "doc", - label: "Getting Started with Flutter Android", - id: "getting-started-with-flutter-dart-android-automation", - }, - { - type: "doc", - label: "Getting Started with Flutter iOS", - id: "getting-started-with-flutter-dart-ios-automation", - }, - { - type: "doc", - label: "Flutter Supported Capabilities", - id: "flutter-supported-capabilities", + type: "category", + collapsed: false, + label: "Getting Started", + items: [ + "test-flutter-apps", + "flutter-agent-skills", + "flutter-supported-capabilities", + "appium-flutter-integration", + "getting-started-with-flutter-dart-android-automation", + "getting-started-with-flutter-dart-ios-automation", + ], }, { type: "doc",