携程开源的一款 UI 自动化测试框架,使用Flybirds你能够完成大部分的手机端自动化操作,基于Behave,实现BDD中“自然语言测试用例文档”和“自动化测试代码”关联需要用到支持BDD工具。说白了写测试用例可以用口语化。

1、Flybirds

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

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

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

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

●基于BDD模式,类自然语言语法
●支持自动化APP操作、表单提交、UI元素校验、键盘输入、Deeplink跳转等
●默认支持英文、中文两种语言,支持更多语言扩展
●插件式设计,支持用户自定义自动化扩展
●捍供rli脚王架 快谏搭建项曰

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

pip3 install flybirds
chmod +x adb

●for linux

cd {your_ python_ path}/site-packages/airtest/core/ android/static/ adb/linux
tlybirds create


4.运行演示

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

开始运行

cd {PATH_ TO_ PROJECT_ FOLDER}flybirds run -P features/test/android

框架会通过flybirds_ config中配 置的packagePath自动下载测试包并安装(请确保手
机已经打开”允许安装末知来源”)。

运行结果如下:

4.2项目结构

config:配置文件
features:测试用例feature文件
pscript:自定义扩展
report:测试报告

4.3 features目录
基础目录结构如下:

features/
features/test/
features/test/everything. feature
features/steps/
features/steps/steps.py

4.4 feature文件
feature文件包含用户动作,行为特征描述及预期结果的文本,行为特征部分使用
Gherkin语言编写。

feature文件,也称为功能文件,有两个目的:文档和自动化测试。

以关键字开头("功能”、"场景”、 ”场景大纲”、“当”、“而且”、 ” 那么…,文件中的任
何位置都允许使用注释行。



4.6 Hooks

用户可在以下文件中定义hooks:

pscript/ds1/ step/hook. py

●before step(context,step), after step(context, step)
在用给定名称标记(tag)的部分之前和之后运行

●before_ all(context), after. all(context)
在所有执行之前和之后运行

4.7标签(Tags)

运行有特定tag的场景,多个用逗号隔开:

flybirds run -T tag1, tag2

5.1 配置的测试设备能够正常连接

●Android:执行命令adb devices,检查设备列表中是否包含测试设备
●ios:以tidevice库举例,执行命令tidevice list, 检查设备列表中是否包含测
Android设备连接Q&A
●请先准备一台macOS

使用xcode部署
iOS-Tagent成功后, 能够在mac或
windows机器上连接到iOS手机。请点击链接下载项目代码到本地进行部署。
●mac环境通过Homebrew安装iproxy:| brew install libimobiledevice
●windows 环境安装itunes

5.2下载安装测试包

●Android:
框架会通过config中配置的packagePath自动下载测试包并安装(请确保手机已
经打开”允许安装未知来源”)。也可手动下载安装:下载地址
●ios:
a.请手动下载演示APP进行安装:下载地址
在终端输入以下内容来查看flybirds运行项目时支持的操作

flybirds run --help

指定需要执行的feature集合,可以是目录,也可以指定到具体feature文件,默认是
'features’目录.
示例:

flybirds run -T tag1, tag2,-tag3, tag4
●--format. -F..

7.配置参数

提供了丰富的配置项|帮助文档
必须配置项: deviceld packageName.

9、定义step语句模板

在编写Feature的过程中,可能会遇到提供的公共语句不能满足自身项目的需求,需要自
定义语句。比如:需要对接某个内部工具API,此时需要用到自定义语句功能。

自定义语句功能会用到python,如果你不了解这门编程语言,也不必要太担心,因为只
会使用到最基础的python语法,这并不会太难。

使用方法

进入项目目录"psscript/dsl/steps"

10、自定义框架扩展

理论上BDD-UI-Testing可以适用在所有端,比如: APP、Web、小程序。

框架的插件式设计模式,保留了良好的扩展,当前版本只开放了APP端支持,未来会逐
步开放更多,下面是两个例子供大家参考。

现类,只需要在GlobalContext类中添加对应的名称。
●在plugin.event下添加自己的web包。
●在event.web包下重写或者新增类,比如重写run事件可以在plugin.event.web
下面添加"run.py".具体实现逻辑可参照已有的run.py。
●在项目配置文件" flybirdes_ config.json"配置device_ info.platform值
为"web"。

修改当前APP端扩展

b.在plugin_ info.json对应平台中添加如下配置:

"app": { "path": "{1ocal_ path}/app.py", "ns": "app.p1ugin"}
flybirds/core/dsl/globalization/i18n. py

示例代码如下:
以Jenkins为例: .

# Inside the jenkins shell commandcd {PATH_ TO_ PROJECT_ FOLDER}
#Runflybirds run -P ./features/test/everything. featurecp -R reports $WORKSPACE

房子要一层一层盖,知识要一点一点学。大家在学习过程中要好基础,多上手实操,话不多说,这里狠狠上一次干货!我熬夜整理好的各阶段(功能、接口、自动化、性能、测开)技能学习资料+实操讲解,非常适合私下里学习,比找资料自学高效多了,分享给你们。

领取关 w/x/g/z/h:软件测试小dao

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

后悔没早知道这款UI自动化测试框架,让你写用例像口语化一样简单相关推荐

  1. 自动化测试中级篇——LazyAndroid UI自动化测试框架使用指南

    原文地址https://blog.csdn.net/iamhuanggua/article/details/53104345 简介 一直以来,安卓UI自动化测试都存在以下两个障碍,一是测试工具Moke ...

  2. ui自动化测试框架_数据驱动 vs 关键字驱动:对搭建UI自动化测试框架的探索

    谢谢打开这篇文章的每个你 关注我们 点击右上角 ··· 设为星标 UI自动化测试用例剖析 让我们先从分析一端自动化测试案例的代码开始我们的旅程.以下是我之前写的一个自动化测试的小Demo.这个Demo ...

  3. 这8款开源自动化测试框架,你还没用上?

    在如今开源的时代,我们就不要再闭门造车了,热烈的拥抱开源吧!本文针对性能测试.Web UI 测试.API 测试.数据库测试.接口测试.单元测试等方面,为大家整理了github或码云上优秀的自动化测试开 ...

  4. python3.7界面设计_基于selenium+Python3.7+yaml+Robot Framework的UI自动化测试框架

    前端自动化测试框架 项目说明 本框架是一套基于selenium+Python3.7+yaml+Robot Framework而设计的数据驱动UI自动化测试框架,Robot Framework 作为执行 ...

  5. python ui自动化测试框架_基于python语言下的UI自动化测试框架搭建(一)

    最近在搭一个UI自动化测试框架,想把整个搭建过程分享出来,如果有不对的地方,希望大家能够指正,首先创建一个名称为,antomation_framework_demo的工程文件, pycharm中工程及 ...

  6. 整装待发 QTA UI自动化测试框架迎来大更新

    2019独角兽企业重金招聘Python工程师标准>>> 整装待发 QTA UI自动化测试框架迎来大更新 QTA是什么 QTA是一个跨平台的测试自动化工具,适用于后台.原生或混合型客户 ...

  7. 实战 | UI 自动化测试框架设计与 PageObject 改造

    本文节选自霍格沃兹<测试开发实战进阶>课程教学内容,进阶学习文末加群. 在 UI 自动化测试过程中,面对复杂的业务场景,经常会遇到这样的挑战: 简单的录制/回放速度快,但无法适应复杂场景: ...

  8. WEB UI自动化测试框架搭建(一)_公用方法Utils

    本栏目内的所有项目使用的都是PyCharm 2020.1专业版,可以下载后自行在网上找教程破解. WEB UI自动化测试框架搭建(一)~(七)源代码:https://download.csdn.net ...

  9. 测试开发 - 十年磨一剑(五)UI自动化测试框架与分层结构

    一.UI自动化测试框架 Selenium是自动化工具,工具,工具!面试的时候不想再听到谁说用的测试框架是Selenium. 构成框架的组件,最起码应该具备以下的功能,才能够称为一个完整的自动化测试框架 ...

  10. 整装待发 QTA UI自动化测试框架迎来大更新 1

    整装待发 QTA UI自动化测试框架迎来大更新 QTA是什么 QTA是一个跨平台的测试自动化工具,适用于后台.原生或混合型客户端应用的测试.在腾讯内部,QTA是腾讯元老级的自动化测试项目,从研发至今已 ...

最新文章

  1. java 开发工具_Java开发工具和环境,你了解多少?
  2. Win10安装bash慢的解决方案
  3. zwpython_零起点Python大数据与量化交易
  4. 重温Servlet学习笔记--response对象
  5. C/C++中对链表操作的理解实例分析
  6. Eclipse中错误为 Access restriction 的解决方案
  7. 洛谷 P3958 奶酪
  8. RIDE指定log和report的输出目录
  9. 基于声波的手势识别技术
  10. 【考研·收藏】考研数学常用希腊字母表(数学符号及读法大全)
  11. Leetcode第904题
  12. (转载)yocto相关class总结
  13. FIR滤波器结合快速卷积滤波
  14. Python爬取足球网站赛况
  15. Three-level Laser
  16. 解决C#调用Excel接口时报错,提示:Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Offi
  17. OS-机械硬盘的磁盘初始化
  18. 程序员护眼心得——20171229
  19. 阿里技术leader:哪有什么天生的领导力,不过是后期不断磨练罢了
  20. Unity 做成Live2D桌宠

热门文章

  1. thinkphp5地址的获取和修改接口过程
  2. 阿里云邮箱企业版使用 SSL 加密协议登录邮箱
  3. 算法及其复杂性分析整理
  4. 推特员工大规模辞职,马斯克被“问候”;腾讯10多万员工平均月薪超8万;雪欲“白嫖”网易百万玩家数据...
  5. 论计算机基础学科的重要性
  6. winpe查看不到linux硬盘,winpe不显示硬盘?教你轻松搞定pe下不显示硬盘问题
  7. 阿里云存储OSS《快速使用》
  8. 吃货在东京 -- 记那段吃不饱的日子 之四 台场的日本拉面
  9. 机器人及其相关零件的发展
  10. 学计算机的管理层,毕业很吃香、高薪岗位多的4个专业,计算机科学上榜,你的专业呢...