Skip to content

Add Appium profile config loader, example, server integration, and tests - #1

Open
kliu2python wants to merge 1 commit into
mainfrom
codex/improve-mobile-mcp-for-more-use-cases
Open

Add Appium profile config loader, example, server integration, and tests#1
kliu2python wants to merge 1 commit into
mainfrom
codex/improve-mobile-mcp-for-more-use-cases

Conversation

@kliu2python

Copy link
Copy Markdown
Owner

Motivation

  • Decouple Appium server/capabilities from code to avoid hardcoded servers and secrets.
  • Provide named profiles, inheritance, and environment placeholder expansion for flexible local/cloud setups.
  • Expose profile-driven tooling so sessions can be started by name and default profiles can be overridden by env vars.

Description

  • Add appium_config.py which implements load_profiles, get_profile, placeholder expansion, profile inheritance, validation, and structured error AppiumConfigError.
  • Add appium_profiles.example.yaml to demonstrate profiles, extends, and ${ENV} placeholders and add .gitignore entry for appium_profiles.yaml to keep secrets out of VCS.
  • Update server.py to integrate profile APIs: add list_appium_profiles, start_appium_session_with_profile, and default-profile helpers that read APPIUM_MCP_DEFAULT_* env vars, and convert several MCP tools to return structured dicts; also introduce LAST_UI_TREE usage and small screenshot/comment tweaks.
  • Add unit tests in tests/test_appium_config.py covering basic profile loading, inheritance, and environment placeholder expansion.

Testing

  • Ran the new unit test file with python -m unittest tests/test_appium_config.py and it passed.
  • No other automated tests were run as part of this change.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant