BDD-driven natural language automated testing framework, present by Trip Flight
行为驱动开发(Behavior-driven development,缩写BDD),是一种软件过程的思想或者方法,是一种敏捷软件开发的技术.
Flybird是基于BDD模式的前端UI自动化测试框架,提供了一系列开箱即用的工具和完善的文档。
- 基于Behave,实现BDD中“自然语言测试用例文档”和“自动化测试代码”关联需要用到支持BDD工具。
- 基于Airtest,实现BDD中“测试用例能在自动化测试平台上执行”需要用到UI自动化测试框架。
特性
使用Flybird你能够完成大部分的手机端自动化操作,以下是一些帮助入门的特性描述:
- 基于BDD模式,类自然语言语法
- 支持自动化APP操作、表单提交、UI元素校验、键盘输入、Deeplink跳转等
- 默认支持英文、中文两种语言,支持更多语言扩展
- 插件式设计,支持用户自定义自动化扩展
- 提供cli脚手架,快速搭建项目
- 提供html报告
环境要求
- python(3.7-3.9)
- nodejs(12+)
快速开始
1. 环境搭建
使用pip
安装flybird框架,过程中会自动安装所需的 依赖包
在Mac/Linux系统下,需要手动赋予adb可执行权限
cd {your_python_path}/site-packages/airtest/core/android/static/adb/mac
chmod +x adb
cd {your_python_path}/site-packages/airtest/core/android/static/adb/linux
chmod +x adb
使用脚手架创建项目
创建过程中会提示输入以下信息
- 项目名称
- 测试平台:Android / iOS
- 测试设备名称( 可跳过,后续可在config中配置
deviceId
节点 ) - webDriverAgent的BundleID( 可跳过,ios设备连接使用,后续可在config中配置
webDriverAgent
节点 ) - APP测试包名称(可跳过,默认为ctrip演示包,后续可在config中配置
packageName
节点)
为了帮助使用,项目创建时,会在test目录下生成演示features,后续可自行删除
2. 测试执行
-
请确保配置的测试设备能够正常连接
- Android: 执行命令
adb devices
, 检查设备列表中是否包含测试设备 - iOS:以
tidevice
库举例,执行命令tidevice list
,检查设备列表中是否包含测试设备
- 请先安装手机对应品牌的官方驱动,确保能使用电脑对手机进行USB调试
- 确保已经打开了手机中的”开发者选项”,并且打开”开发者选项”内的”允许USB调试”
- 部分手机需要打开”允许模拟位置”、”允许通过USB安装应用”
- 关闭电脑上已经安装的手机助手软件,能避免绝大多数问题,请务必在任务管理器中手工结束手机助手进程
- Android: 执行命令
-
下载安装测试包
- Android:框架会通过
config
中配置的packagePath
自动下载测试包并安装(请确保手机已经打开”允许安装未知来源“ )。也可手动下载安装:下载地址 - iOS:
- Android:框架会通过