Maestro – Next generation mobile UI automation
Maestro - 新一代移动 UI 自动化框架
Navigation Menu
切换导航 Sign in
- Product
- GitHub Copilot Write better code with AI
- Security Find and fix vulnerabilities
- Actions Automate any workflow
- Codespaces Instant dev environments
- Issues Plan and track work
- Code Review Manage code changes
- Discussions Collaborate outside of code
- Code Search Find more, search less Explore
- All features
- Documentation
- GitHub Skills
- Blog
- Solutions By company size
- Resources Topics
- Open Source
- Enterprise
- Pricing
Search or jump to...
Search code, repositories, users, issues, pull requests...
Search Clear Search syntax tips
Provide feedback
We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback
Saved searches
Use saved searches to filter your results more quickly
Name Query To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} mobile-dev-inc / **Maestro ** Public
- Notifications You must be signed in to change notification settings
- Fork 336
- Star 6.7k
Painless E2E Automation for Mobile and Web maestro.dev
License
Apache-2.0 license 6.7k stars 336 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings
Additional navigation options
mobile-dev-inc/Maestro
main BranchesTags Go to file Code
Folders and files
Name| Name| Last commit message| Last commit date
---|---|---|---
Latest commit
History
1,213 Commits
.github| .github
.idea| .idea
.run| .run
assets| assets
e2e| e2e
example| example
gradle| gradle
maestro-ai| maestro-ai
maestro-android| maestro-android
maestro-cli| maestro-cli
maestro-client| maestro-client
maestro-ios-driver| maestro-ios-driver
maestro-ios-xctest-runner| maestro-ios-xctest-runner
maestro-ios| maestro-ios
maestro-orchestra-models| maestro-orchestra-models
maestro-orchestra| maestro-orchestra
maestro-proto| maestro-proto
maestro-studio| maestro-studio
maestro-test| maestro-test
maestro-utils| maestro-utils
maestro-web| maestro-web
recipes| recipes
scripts| scripts
.editorconfig| .editorconfig
.gitattributes| .gitattributes
.gitignore| .gitignore
CHANGELOG.md| CHANGELOG.md
CONTRIBUTING.md| CONTRIBUTING.md
LICENSE| LICENSE
README.md| README.md
RELEASING.md| RELEASING.md
build.gradle.kts| build.gradle.kts
debug.keystore| debug.keystore
detekt.yml| detekt.yml
gradle.properties| gradle.properties
gradlew| gradlew
gradlew.bat| gradlew.bat
installLocally.sh| installLocally.sh
logo.png| logo.png
maestro| maestro
settings.gradle.kts| settings.gradle.kts
View all files
Repository files navigation
Tip Ready to wire into CI or scale up your testing? Run Maestro in the cloud
Maestro
Maestro is the simplest and most effective UI testing framework for Mobile and Web.
Why Maestro?
Maestro 构建于对其前辈(Appium, Espresso, UIAutomator, XCTest)的经验学习之上:
- 内置了对不稳定性的容错能力。UI 元素并不总是在你期望的位置出现,屏幕点击并不总是能成功。Maestro 拥抱移动应用和设备的不稳定性,并尝试解决它。
- 内置了对延迟的容错能力。无需在测试中到处添加
sleep()
调用。Maestro 知道加载内容可能需要时间(例如通过网络),并自动等待(但不会超过需要的时间)。 - 极快的迭代速度。测试是解释执行的,无需编译任何东西。Maestro 能够持续监控你的测试文件,并在它们发生变化时重新运行。
- 声明式但强大的语法。在
yaml
文件中定义你的测试。 - 简单的设置。Maestro 是一个可以在任何地方工作的单个二进制文件。
Resources
Documentation
可在docs.maestro.dev上找到
要了解更多关于我们为什么构建 Maestro 的背景信息,请阅读 Maestro 发布公告博客。
Community
我们邀请所有人 加入我们的公共 Slack 频道。
Contributing
要开始,请查看 带有 good first issue
标签的问题 和 贡献指南。
Built by
About
Painless E2E Automation for Mobile and Web maestro.dev
Topics
android ios ui-automation blackbox-testing
Resources
License
Apache-2.0 license Activity Custom properties
Stars
Watchers
Forks
Releases 107
CLI 1.39.13 Latest Feb 13, 2025 + 106 releases
Packages 0
No packages published
Contributors 75
- [
](https://