Skip to content
| Marketplace
Sign in
Visual Studio Code>Testing>BDD Appium ToolkitNew to Visual Studio Code? Get it now.
BDD Appium Toolkit

BDD Appium Toolkit

Bingbing Niu

|
1 install
| (0) | Free
Prepare Appium MCP environments, send Gherkin scenarios to GitHub Copilot, and replay generated Behave tests.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

BDD Appium Toolkit

Version VS Code License

An AI-assisted VS Code workspace for Appium and BDD test automation. Prepare an MCP environment, send Gherkin scenarios to GitHub Copilot, and replay generated Behave tests. Review generated code and assertions before relying on test results.

This is an independently maintained fork of BDD AI Toolkit / AutoGenesis, not an official Microsoft extension. Its extension ID is bingbingniu.bdd-appium-toolkit.

The setup panel uses a purple mobile-automation identity, theme-aware surfaces, and separate environment-check and MCP-preparation cards. The sidebar icon is a phone with a play symbol and AI sparkle. Existing setup actions are retained.

Appium dependency downloads

Appium Setup uses https://packagefeedproxy.microsoft.io/pypi/simple/ by default. The same index is included in the generated MCP startup environment so that uv run does not return to PyPI for dependency synchronization. Windows browser MCP does not receive this default.

This feed resolved dependency downloads and allowed an MCP initialization handshake with 35 tools on one Windows machine. This is not a service availability guarantee or confirmation of service-owner/IT approval. Validate another tester environment and the organization's usage requirements before broad distribution. This is an online solution, not an offline dependency bundle.

The configured feed is not guaranteed to be accessible or approved for every organization. Confirm that the feed is permitted for your environment, or select an approved HTTPS package index before running Appium Setup.

  • Set bddAppiumToolkit.appium.indexUrl in VS Code User Settings to change the default. An empty value leaves index selection to uv (including uv.toml).
  • Existing nonempty UV_DEFAULT_INDEX, UV_INDEX_URL, UV_INDEX, or UV_EXTRA_INDEX_URL environment variables take precedence over the extension setting. They are inherited, not copied into the workspace MCP file. Restart VS Code after changing its inherited environment.
  • A nonempty extension setting overrides uv configuration-file defaults. The setting accepts an HTTPS URL without embedded credentials or query parameters; use uv authentication for authenticated feeds.
  • After changing the setting, stop the server and run Appium Setup again to update its startup configuration. Review any configuration-reset prompt first.
  • Failed dependency installation, process errors, and the 10-minute timeout stop setup rather than producing a new success marker. Error output is bounded and URL paths, credentials, and query parameters are redacted.

Python (the server declares >=3.10), uv, and the required device/Appium environment remain prerequisites. This change does not require Python 3.12 or install Android SDK/Appium drivers for you.

Updating from 0.1.0

Version 0.1.1 replaces the deprecated tool.uv.dev-dependencies field in bundled MCP projects with dependency-groups.dev, without changing runtime dependencies. It also introduces the purple phone/play/sparkle icon and theme-aware setup workspace. See release notes. Install the updated VSIX, stop the MCP server, and run Setup again for each configured platform to refresh the separately stored server files. Review any configuration-reset prompt before continuing, then start the server again. Installing the VSIX alone does not replace an existing MCP environment.

Moving from the original extension

Disable the original extension and stop its MCP servers before using this fork. The new extension has separate storage, commands, settings, and MCP names (bdd-appium-toolkit-<project>-appium). It does not delete old MCP entries or overwrite old extension storage. Review prompts/skills that refer to an old MCP name and copy any customized Copilot prompt to bddAppiumToolkit.cucumber.copilotPrompt if needed. Existing test files and bdd_ai_conf.json are retained.

For a supplied VSIX, use Extensions > ... > Install from VSIX. Marketplace publication is not required for internal testing. On a later extension update, the setup panel prompts for MCP environment updates; these are not silently applied to custom workspace configurations. Setup prepares the environment; start the actual MCP server from the generated configuration and verify the connection separately.

✨ Features

  • 🎥 AI-Powered Recording - Write Gherkin scenarios, let AI generate automation code
  • ▶️ One-Click Replay - Execute recorded scenarios directly from feature files
  • 🔧 Multi-Platform Support - Windows (browser), Appium (macOS & Mobile)
  • 🤖 MCP Integration - Seamless GitHub Copilot connection via Model Context Protocol
  • 🎯 Interactive CodeLens - Record and replay buttons above each scenario
  • 📝 Natural Language Tasks - Execute automation from plain English descriptions

👨‍💻 For Developers: See CONTRIBUTING.md for development setup and contribution guidelines.


🚀 Setup Guide

Step 1: Install Extension

Install BDD Appium Toolkit from its Marketplace listing when available, or use Extensions > ... > Install from VSIX with the supplied package.

Step 2: Setup Environment

  1. Open Setup Panel

    Click the BDD Appium Toolkit icon in the Activity Bar (left sidebar)

  2. Auto-Resolve Environment

    The setup panel checks Python (>=3.10), Node.js/npm, uv, and VS Code CLI.

    Use the resolve button for supported installation actions. On Windows, Python and Node.js/npm require manual installation if missing; automatic resolution handles uv and VS Code CLI. Device connectivity, Appium and its platform drivers must be prepared separately.

  3. Choose Platform & Click Setup

    Select your target platform:

    • Windows - Browser automation
    • Appium - For macOS and mobile testing (iOS/Android)

    Click "Windows Browser" or "Appium / Mobile" to prepare the selected MCP environment. Review installation prompts and wait for completion.

    macOS users: Before using Appium, you need to manually start the Appium server first. Run the provided script:

    cd appium-mcp-server/docs
    ./start_appium_on_mac.sh
    

    For detailed setup instructions, see macOS Appium Setup Guide.

  4. Configure Automation Platform

    Open bdd_ai_conf.json in the project root and update the configuration for your target platform, such as:

    • Account credentials (e.g. BrowserStack userName, accessKey)
    • App bundleId or appPackage/appActivity
    • Device name, platform version, etc.
  5. Open MCP Configuration File

    Click "Open connection settings" to view/edit the MCP configuration file

    The config file will be opened in the editor

  6. Start MCP Server

    In the opened configuration file, click the "Start" button (CodeLens action)

    This launches the MCP server

  7. Verify Connection in GitHub Copilot

    • Open GitHub Copilot Chat
    • Check MCP connections panel
    • Confirm the new bdd-appium-toolkit-<project>-appium MCP is connected

Step 3: Record & Replay

Now you're ready to use AI-powered test automation!

Recording (AI generates code):

  1. Create/open a .feature file
  2. Write your scenario in Gherkin
  3. Click "Send to Copilot" above the scenario
  4. AI generates automation code automatically

If .github/skills/autoGenesis-run/SKILL.md exists in the workspace, the extension sends /autoGenesis-run <Scenario Name> to Copilot instead of the default prompt.

Replaying (Execute tests):

  1. Prepare the test project's Python environment using its dependency manifest. Appium Setup prepares the MCP server's separate environment, not the project's replay environment.
  2. Open a .feature file with generated step implementations.
  3. Click "Run" above a scenario. The extension runs uv run python -m behave --name ... in the test project context.
  4. Review terminal output and assertions to determine the test result.

The Appium download-source setting applies to MCP setup and generated startup configuration. It does not configure ordinary terminals, pip, or the replay project. If your approved index is the same as the extension default, a PowerShell session can explicitly select it before installing project dependencies:

$env:UV_INDEX_URL = "https://packagefeedproxy.microsoft.io/pypi/simple/"
uv pip install --python .\.venv\Scripts\python.exe -r .\requirements.txt
uv run python -m behave --version

This example assumes the project already has a .venv and requirements.txt. Use the project's own setup instructions if it uses a different dependency manifest. Do not disable TLS verification to work around connection failures.


🎯 Advanced Features

Natural Language Tasks

Execute ad-hoc automation without writing scenarios:

Command: BDD Appium Toolkit: Execute Natural Language Task

Example:

"Open Chrome, go to google.com, search for 'AI testing', click first result"

AI converts your description to automation and executes immediately.

Custom Copilot Prompt

Customize how AI generates code:

{
  "bddAppiumToolkit.cucumber.copilotPrompt": "Generate step definitions for:\n\n${scenario_text}\n\nFile: ${feature_file_path}\n\nUse Behave framework and follow PEP 8 style."
}

Available placeholders:

  • ${scenario_text} - Full scenario content
  • ${feature_file_path} - Path to feature file

Note: This prompt is used as fallback when the autoGenesis-run skill is not present in the workspace.


📚 Resources

  • 🐛 Report Issues
  • 📖 Gherkin Syntax Guide
  • 📖 Behave Documentation

📄 License

MIT License - See LICENSE


Happy Testing! 🎉

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft