Flutter WebDriver IO MCP
一个使用WebDriver IO和GitHub Actions的全面的iOS Flutter自动化框架,专为MCP(模型上下文协议)集成而设计。
🚀 特性
- iOS模拟器测试:支持iPhone 15、14、13和iPad Pro,实现iOS自动化
- Flutter集成:使用WebDriver IO进行原生Flutter应用程序测试
- GitHub操作CI/CD:具有矩阵测试的自动化测试管道
- 诱惑报告:全面的测试报告和工件管理
- MCP集成:支持AI驱动测试的模型上下文协议
📱 支持的设备
- iPhone 15(iOS 17.2)
- iPhone 14(iOS 16.4)
- iPhone 13(iOS 15.5)
- iPad Pro(11英寸)(iOS 17.2)
🛠 技术栈
- WebDriver IO:Web和移动自动化框架
- Appium:移动自动化服务器(v2.22.0+)
- 飘动:跨平台移动框架
- GitHub操作:CI/CD自动化
- 魅力:测试报告框架
- Node.js:运行时环境(v20+)
📁 项目结构
├── .github/workflows/ # GitHub Actions workflows
│ └── ios-flutter-automation.yml
├── ios/ # iOS-specific files
│ ├── ios-flutter-test-runner.js
│ ├── ios-flutter-capabilities.json
│ └── allure-flutter-framework.js
├── tests/ # Test files
│ ├── flutter-appium-test.js
│ ├── flutter-login-interaction.js
│ └── mcp_flutter_login_test.js
├── utils/ # Utility functions
│ ├── flutter-element-discovery.js
│ └── flutter-login-inspector.js
├── framework/ # Framework files
│ └── flutter-allure-test-runner.js
├── capabilities/ # Device capabilities
│ ├── flutter-capabilities.json
│ └── ios-flutter-capabilities.json
├── config/ # Configuration files
│ └── settings.json
└── docs/ # Documentation
└── MCP-APPIUM-USAGE.md🚀 快速开始
先决条件
- macOS(用于iOS测试)
- Xcode 15.2+
- Node.js 20+
- npm或纱线
安装
- 克隆存储库:
git clone https://github.com/inasribrahim/Flutter-WebDriverIO-MCP.git
cd Flutter-WebDriverIO-MCP- 安装依赖项:
npm install- 安装Appium和驱动程序:
npm install -g appium@2.22.0
appium driver install xcuitest
appium driver install flutter运行测试
本地执行
# Run iOS tests
npm run test:ios
# Run specific test
npx wdio run ios/ios-flutter-test-runner.jsGitHub操作
工作流在以下情况下自动运行:
- 推送到主分支
- 拉取请求
- 手动触发
📊 测试报告
- 诱惑报告:测试执行后自动生成
- 截图:在测试失败时捕获
- 人工制品:在GitHub操作运行中可用
- GitHub 页面:自动部署的报告
🔧 配置
iOS功能
在中配置iOS设备 capabilities/ios-flutter-capabilities.json:
{
"platformName": "iOS",
"platformVersion": "17.2",
"deviceName": "iPhone 15",
"automationName": "Flutter",
"app": "path/to/your/app.app"
}测试设置
修改中的测试行为 config/settings.json:
{
"timeout": 30000,
"retries": 2,
"screenshots": true,
"allure": true
}🤖 MCP集成
该框架包括用于AI驱动测试自动化的模型上下文协议(MCP)集成:
- 智能元素发现
- 动态测试用例生成
- 自动化测试维护
- 自然语言测试描述
📝 贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🆘 支持
🏗 路线图
- \[\]Android支持
- \[\]云设备集成
- \[\]增强的MCP功能
- \[\]性能测试
- \[\]视觉回归测试
______________________________________________________________________
由WebDriver IO+Flutter+GitHub Actions提供技术支持 🚀
