开源 | 携程机票BDD UI Testing框架 - Flybirds

本文介绍了携程研发的BDD UI自动化测试框架Flybirds,它基于Behave和Airtest,提供自然语言测试用例文档和自动化测试代码关联。文章详细阐述了Flybirds的开源原因、特性、环境搭建、使用方法、自定义扩展和持续集成等,并提供了项目结构和运行示例。Flybirds旨在促进BDD技术的交流,并为开发者提供便捷的自动化测试工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者简介

 

Liang,携程研发总监,关注工程效能、DevOps、自动化框架等。

一、背景

携程机票从2018年年中正式引入BDD,至今已3年多,成为内部首选的敏捷开发技术。

Flybirds 是一套基于BDD模式的前端UI自动化测试框架,提供了一系列开箱即用的工具和完善的文档,现在逐步稳定,成为机票内部首选的BDD-UI-Testing测试框架。

二、为什么开源

  • 分享我们的BDD技术方案

  • 期待业内使用BDD技术的同行通过开源社区与我们进行更深入的交流

本文将从特性介绍、环境搭建、使用帮助、自定义扩展、持续集成、发版计划这几个方面对框架进行介绍。

三、Flybirds

  • 基于Behave,实现BDD中“自然语言测试用例文档”和“自动化测试代码”关联需要用到支持BDD工具。

  • 基于Airtest,实现BDD中“测试用例能在自动化测试平台上执行”需要用到UI自动化测试框架。

  • 基于Multiple-cucumber-html-reporter,实现可视化的测试报告。

ce831fc5490d295ee149d7e5d01535fd.png

四、特性

使用Flybirds你能够完成大部分的手机端自动化操作,以下是一些帮助入门的特性描述:

  • 基于BDD模式,类自然语言语法

  • 支持自动化APP操作、表单提交、UI元素校验、键盘输入、Deeplink跳转等

  • 默认支持英文、中文两种语言,支持更多语言扩展

  • 插件式设计,支持用户自定义自动化扩展

  • 提供cli脚手架,快速搭建项目

  • 提供html报告

五、环境搭建

5.1 使用pip安装flybirds框架,过程中会自动安装所需的依赖包

pip3 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

5.2 使用脚手架创建项目

flybirds create

7e97bb2cd68a633f0df5ba224167ba96.png

六、快速上手

6.1 运行演示

为了帮助使用,项目创建时,会生成中英文的Android、iOS演示feature,方便用户参考。

features/test/
features/test/android
features/test/android/cn/everything.feature
features/test/android/en/everything.feature
features/test/ios
features/test/ios/cn/everything.feature
features/test/ios/en/everything.feature

以“Android”为例:

  • 执行命令 adb devices , 检查设备列表中是否包含测试设备

  • 开始运行

cd {PATH_TO_PROJECT_FOLDER}
flybirds run -P features/test/android

框架会通过flybirds_config中配置的packagePath自动下载测试包并安装(请确保手机已经打开”允许安装未知

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值