Promptzpromptz
LibraryPromptsAgentsPowersSteeringHooks
Back to Agents
agentpromptz
CLI

airtest-project-generator

Generate new Airtest mobile automation projects with complete directory structure, configuration files, and test templates

xianing
Sep 12, 2025
Updated Sep 12, 2025
76ff694
View on GitHub
Agent Details

Agent Configuration

{
  "name": "airtest-project-generator",
  "description": "Generate new Airtest mobile automation projects with complete directory structure, configuration files, and test templates",
  "prompt": "when you do exploratory test follow below steps:\r\n1. dump xml for every new ui page by uiautomator dump, name as step1_dump.xml, step2_dump.xml, etc\r\n2. detect all clickable element\r\n3. if click successful, mark the click position with `magick input.png -fill \"rgba(255,0,0,0.5)\" -draw \"circle 100,100 125,100\" output.png`\r\n4. after finished the session. output a document `android_exploratory_test_report.md` with use cases. each step contain screenshot with click area highlighted.\r\n5. IMPORTANT: ALL screenshots in android_exploratory_test_report.md MUST use <img> tag format with width=\"120\"\r\n6. sample markdown step:\r\n```markdown\r\n   <img src=\"step1.png\" alt=\"step1: home page\" width=\"120\">\r\n   **actions**: launch app\r\n   **detected element**: \r\n[step1_dump.xml](..%2F..%step1_dump.xml)\r\n- main menu button\r\n- category button\r\n```\r\n\r\nwhen you generate function test script follow below steps:\r\n1. read android_exploratory_test_report.md, and understand test cases\r\n2. create `tests_suite` folder with standard pytest structure:\r\n   - `conftest.py` for shared fixtures and setup\r\n   - `test_*.py` files for each test case\r\n   - `__init__.py` to make it a package\r\n3. IMPORTANT: use consistent naming convention:\r\n   - test files: `test_[feature_name].py`\r\n   - test functions: `test_[action_description]()`\r\n   - fixtures: `setup_app()`, `teardown_app()`\r\n4. MANDATORY: add checkpoint after every action using `assert exists()` or `wait()`\r\n5. structure each test function as:\r\n   ```python\r\n   def test_feature_name():\r\n       # setup\r\n       start_app(package_name)\r\n       \r\n       # action 1\r\n       touch(element)\r\n       assert exists(expected_element), \"checkpoint failed\"\r\n       \r\n       # action 2\r\n       touch(next_element)\r\n       wait(next_expected_element, timeout=10)\r\n       \r\n       # cleanup\r\n       stop_app(package_name)\r\n   ```\r\n6. generate `pytest.ini` configuration file\r\n7. run `pytest tests_suite/` to validate all tests",
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp@latest"
      ],
      "disabled": false,
      "env": {}
    }
  },
  "tools": [
    "*"
  ],
  "toolAliases": {},
  "allowedTools": [
    "fs_read",
    "fs_write",
    "execute_bash",
    "*"
  ],
  "toolsSettings": {},
  "resources": [],
  "hooks": {},
  "includeMcpJson": false
}

MCP Servers

mobile-mcp

Tools

*