No project description provided
Project description
Flybirds | English Version
跨端跨框架 BDD UI自动化测试方案
背景
Flybirds 是一套基于BDD模式的前端UI自动化测试框架,提供了一系列开箱即用的工具和完善的文档。
多端研发对于当今时代的前端开发来说是个绕不过去的话题,为了解决这些问题,行业内推出了很多开发方案,但是跨端 UI 自动化测试的解决方案并不多。
Flybirds从2022年初开源至今,通过与社区内活跃用户的交流和反馈,推出了v0.4 版本的跨端跨框架测试方案,一套脚本多端运行,插件化的架构设计,也方便社区开发者自由加入扩展,一起共建成长。
我们需要一个怎么样的多端测试方案
近几年,每隔一段时间就会有很多新的开发框架出现,带来了更好的开发体验和性能的同时,也给自动化测试创造了很多难题。
我们到底需要一个怎样的多端测试方案呢?从 Flybirds 的视角来说,我们希望多端测试不会成为研发流程中的障碍,特别是多端生态整体呈现欣欣向荣之时,自动化测试方案应和开发方案共同成长。
不论是 Web 、Android、iOS、Flutter、React Native 还是小程序,理想的方案应该进行多端适配,保留良好扩展,兼顾更多框架,由社区共同建设,促进整体生态繁荣,因此就有了Flybirds 向社区提供的跨端跨框架测试方案。
插件化架构
插件化架构帮助我们将每一个端的能力拆分开, 插件提供运行时所需的组件、API 和配置,Flybirds 将它们分别注入对应的生命周期。
- 基于Behave,实现BDD中“自然语言测试用例文档”和“自动化测试代码”关联所需要用到的支持BDD工具。
- 基于Airtest,实现BDD中“测试用例能在自动化测试平台上执行”所需要用到的UI自动化测试框架。
- 基于Playwright, 实现BDD中“测试用例能在自动化测试平台上执行”需要用到Web端UI自动化测试框架。
- 基于PaddleOCR和OpenCV, 实现BDD中“测试用例能在自动化测试平台上执行”需要用到的OCR和图像识别能力。
- 基于Multiple-cucumber-html-reporter,实现可视化的测试报告
文件结构
├─ cli 脚手架
├─ core
| ├─ config_manage.py 配置管理
| ├─ dsl
| │ ├─ globalization 国际化处理
| │ └─ step Step 列表
| ├─ global_resource.py 全局配置
| ├─ launch_cycle 生命周期管理
| └─ plugin
| ├─ event 事件管理
| ├─ plugin_manager.py 插件管理
| └─ plugins
| ├─ android Andriod 相关处理
| ├─ ios iOS 相关处理
| └─ web Web 相关处理
├─ report 报告
├─ template 模板处理
└─ utils
特性
使用Flybirds你能够完成大部分的手机端自动化操作,以下是一些帮助入门的特性描述:
- 基于BDD模式,类自然语言语法
- 支持自动化操作、表单提交、UI元素校验、键盘输入、Deeplink跳转等
- 支持 Android、iOS、React Native、Flutter、Web
- 多端脚本复用
- 支持多浏览器渲染引擎:Chromium、WebKit 和 Firefox
- 支持多浏览器并发模式下的兼容性测试
- 默认支持英文、中文两种语言,支持更多语言扩展
- 插件式设计,支持用户自定义自动化扩展
- 提供cli脚手架,快速搭建项目
- 提供html报告
Enjoying this?
请给我们支持,点上一颗 Star
教程
- 常见问题
- 环境准备
- 运行前检查
- 运行
- 项目细节
- DSL step
- Android端例子
- iOS端例子
- OCR&OpenCV使用例子
- Web端例子
- 多端应用例子
- 数据驱动参数化
- 多浏览器并发
- 自定义框架扩展
- 多语言
- 持续集成
- 更多细节
贡献
- Fork 仓库
- 创建分支 (
git checkout -b my-new-feature
) - 提交修改 (
git commit -am 'Add some feature'
) - 推送 (
git push origin my-new-feature
) - 创建 PR
欢迎 fork 和反馈
如有建议或意见,欢迎在 GitHub issues 区提问
协议
本仓库遵循 MIT 协议
致谢
感谢以下仓库让Flybirds变得更好:
技术交流
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file wetest_snapcode-2.0.262-py3-none-any.whl
.
File metadata
- Download URL: wetest_snapcode-2.0.262-py3-none-any.whl
- Upload date:
- Size: 53.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad6854b5071f5e4c90a8aee795695120234b3604dfd160d822a4f439fb59aeea |
|
MD5 | 20ab7f002b129bead65dfa6dda77961c |
|
BLAKE2b-256 | 633a270c47029009cc438ef3a6c312d3beef727e9e95425fe4480122581ac5dd |