Flybirds | English Version
行为驱动开发(Behavior-driven development,缩写BDD),是一种软件过程的思想或者方法,是一种敏捷软件开发的技术.
Flybirds是基于BDD模式的前端UI自动化测试框架,提供了一系列开箱即用的工具和完善的文档。
- 基于Behave,实现BDD中“自然语言测试用例文档”和“自动化测试代码”关联需要用到支持BDD工具。
- 基于Airtest,实现BDD中“测试用例能在自动化测试平台上执行”需要用到UI自动化测试框架。
使用Flybirds你能够完成大部分的手机端自动化操作,以下是一些帮助入门的特性描述:
- 基于BDD模式,类自然语言语法
- 支持自动化APP操作、表单提交、UI元素校验、键盘输入、Deeplink跳转等
- 默认支持英文、中文两种语言,支持更多语言扩展
- 插件式设计,支持用户自定义自动化扩展
- 提供cli脚手架,快速搭建项目
- 提供html报告
- python(3.7-3.9)
- nodejs(12+)
使用pip
安装flybirds框架,过程中会自动安装所需的 依赖包
pip install flybirds
在Mac/Linux系统下,需要手动赋予adb可执行权限
- for mac
cd {your_python_path}/site-packages/airtest/core/android/static/adb/mac
chmod +x adb
- for linux
cd {your_python_path}/site-packages/airtest/core/android/static/adb/linux
chmod +x adb
flybirds create
创建过程中会提示输入以下信息
- 项目名称
- 测试平台:Android / iOS
- 测试设备名称( 可跳过,后续可在config中配置
deviceId
节点 ) - webDriverAgent的BundleID( 可跳过,ios设备连接使用,后续可在config中配置
webDriverAgent
节点 ) - APP测试包名称(可跳过,默认为ctrip演示包,后续可在config中配置
packageName
节点)
为了帮助使用,项目创建时,会在test目录下生成演示features,后续可自行删除
-
请确保配置的测试设备能够正常连接
- Android: 执行命令
adb devices
, 检查设备列表中是否包含测试设备 - iOS:以
tidevice
库举例,执行命令tidevice list
,检查设备列表中是否包含测试设备
- 请先安装手机对应品牌的官方驱动,确保能使用电脑对手机进行USB调试
- 确保已经打开了手机中的"开发者选项",并且打开"开发者选项"内的"允许USB调试"
- 部分手机需要打开"允许模拟位置"、"允许通过USB安装应用"
- 关闭电脑上已经安装的手机助手软件,能避免绝大多数问题,请务必在任务管理器中手工结束手机助手进程
- Android: 执行命令
-
下载安装测试包
-
运行测试,默认运行features目录下所有文件
flybirds run
-
演示feature中包含了主要的自动化语法,为了让演示正常运行,建议不要修改配置项
packageName
和packagePath
。如无需演示,可自行修改 -
更多执行参数说明 :项目脚手架
-
更多演示项目说明 : 项目结构
-
更多Feature编写说明 :Feature编写
- Fork 仓库
- 创建分支 (
git checkout -b my-new-feature
) - 提交修改 (
git commit -am 'Add some feature'
) - 推送 (
git push origin my-new-feature
) - 创建 PR
如有建议或意见,欢迎在 github issues 区提问
本仓库遵循 MIT 协议
感谢以下仓库让Flybirds变得更好: