1.1 BBD简述

BDD(BehaviorDriven Development:行为驱动开发)为用户提供了从开发人员和客户的需求创建测试脚本的机会。因此,开始时,开发人员,项目经理,质量保证,用户验收测试人员和产品所有者(股东)都齐聚一堂,集思广益,讨论应该传递哪些测试场景,以便成功调用此软件/应用程序。这样他们想出了一组测试场景。所有这些测试脚本都是简单的英语语言,所以它也服务于文档的目的。

1.2 Cucumber简述

Cucumber是一个支持行为驱动的开发的开源工具。 更准确地说,Cucumber可以定义为一个测试框架,由简单的英语文本驱动。它作为文档、自动化测试和开发帮助。它可以在以下步骤中描述:Cucumber读取在要素文件中以纯英语文本编写的代码;它找到步骤定义中完全匹配的每个步骤。

这部分被执行的代码可以是不同的软件框架像Selenium、Ruby on Rails等。不是每个BDD框架工具都支持每个工具。这也是Cucumber比那些框架受欢迎的原因,因为它支持:JBehave、JDave、Easyb等。

Cucumber支持数十种不同的软件平台,例如:Ruby on Rails、Selenium、PicoContainer、Spring Framework、Watir。

常用的自动化测试框架总结:https://www.cnblogs.com/mover/p/3673669.html

        Cucumber优于其它工具的优点:

        Ø  Cucumber支持不同的语言,例如Java、.net、Ruby

        Ø  它充当业务与技术间桥梁的角色。可以通过在纯英文文本中创建一个测试用例来实现这一点。

        Ø  它允许在不知道任何代码的情况下编写测试脚本,它允许非程序员参与。

        Ø  它以端到端测试框架为目的

        Ø  由于简单的测试脚本架构,Cucumber提供了代码可重用性

1.3 Cucumber环境设置

在Ubuntu上部署Cucumber环境,语言是ruby,平台是Selenium。

关于Ruby的安装和环境变量,可以自行搜索教程,例如https://www.runoob.com/ruby/ruby-installation-unix.html

查看Ruby版本命令:ruby -v

1.4 Cucumber基本操作命令

cucumber features/user_login/user_login.feature -r features #加后面的-r features可以帮助程序找到对应的step_defintions文件并执行,因为cucumber有时候会找不到对应的rb文件

cucumber --i18n help #用来查看支持哪些语言

cucumber --i18n zh-CN #查看语言支持的关键字 zh-CN, en

cucumber -t @basic #打标签后运行的直接 -t

cucumber --tags @basic #标签, 运行以 --tags 运行

cucumber --tags @C6121429   SITE=REACT #在REACT环境执行用例@C6121429

cucumber -f progress #显示运行时的

cucumber --format progress # .表示此步通过了,F表示该步失败了,-表示该步跳过了。

1.5 Cucumber支持中文

feature文件头部加上#language: zh-CN

rb文件头部加上#encoding:utf-8

第一章 Cucumber基础相关推荐

  1. 《零成本实现Web自动化测试--基于Selenium》第一章 自动化测试基础

    第一篇 Selenium 和WebDriver工具篇 第一章 自动化测试基础 1.1    初识自动化测试 自动化测试有两种常见方式 1.1.1 代码驱动测试,又叫测试驱动开发(TDD) 1.1.2 ...

  2. 第一章计算机基础知识第一节,第一章 计算机基础知识 第一节

    第一章计算机基础知识 第一节.了解计算机 尊敬的各位评委老师: 大家好!我今天说课的题目是<了解计算机>.我将从以下五方面来谈谈对这节课的设计:即说教材.学情分析.说教法和学法.说教学过程 ...

  3. 人工操作阶段计算机是如何工作的,第一章计算机基础概述全解.ppt

    第一章计算机基础概述全解 1.2.3 汉字编码 汉字的编码 国标码:中文内码之一,汉字信息交换的标准编码.国标码是不可能在计算机内部直接采用.于是, 汉字的机内码采用变形国标码 . 国标码:作为转换为 ...

  4. 微型计算机基础 教案,第一章微型计算机基础知识新080902电子教案(153页)-原创力文档...

    第一章 微型计算机基础知识;第一章? 微型计算机基础知识;§1.1 计算机中数的表示方法;1.1.1 进位计数制及各计数制间的转换;二进制数的特点; 十进制--符合人们的习惯二进制--便于物理实现十六 ...

  5. 萌新向Python数据分析及数据挖掘 第一章 Python基础 第三节 列表简介 第四节 操作列表...

    第一章 Python基础 第三节 列表简介 列表是是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目.列表中的元素包括在方括号([])中,每个元素之间用逗号分割.列表是可变的数据类型, ...

  6. 计算机术语new一个,微机原理第一章计算机基础知识(new)

    <微机原理第一章计算机基础知识(new)>由会员分享,可在线阅读,更多相关<微机原理第一章计算机基础知识(new)(47页珍藏版)>请在人人文库网上搜索. 1.1.第一章计算机 ...

  7. 自考第一章计算机基础知识,2018年自考计算机网络技术基础复习资料:第一章...

    第一章 计算机基础知识 电子计算机的发展阶段分为: 1 第一代电子计算机.用电子管.以构成计算机的电子器件来1946年第一台电子计算机. 2 第二代电子计算机的特点是用晶体管. 3 第三代电子计算机的 ...

  8. Python计算机视觉:第一章 图像处理基础

    第一章 图像处理基础 1.1 PIL-Python图像库 1.1.1 对图片进行格式转换 1.1.2 创建缩略图 1.1.3 拷贝并粘贴区域 1.1.4 调整尺寸及旋转 1.2 Matplotlib库 ...

  9. 计算机基础知识作业,第一章计算机基础知识作业

    第一章计算机基础知识作业 读书之法,在循序而渐进,熟读而精思 作业一计算机基础知识 一.作业目的 1.掌握 1)计算机的发展历史: 2)计算机的主要特点和应用领域: 3)计算机系统硬件组成和工作原理: ...

最新文章

  1. c++创建文件_JavaNote 文件系统及Java文件基本操作
  2. SNMP学习之结构体snmp_secmod_def
  3. 5G毫米波三大自然缺陷
  4. php获取不重复的随机数字,php如何生成不重复的随机数字
  5. 什么叫做java程序中的继承_【Java】基础16:什么叫继承?
  6. 红橙Darren视频笔记 一个控件显示两种颜色的文字 画笔的使用
  7. android listview 增加单选 复选,ListView里面加入CheckBox如何实现单选?
  8. Lightroom Classic 教程,如何在 Lightroom 中裁剪并修齐照片?
  9. uniapp 移动端上传文件_移动端上传头像并裁剪 - Clipic.js
  10. 网易云课堂课程下载教程
  11. Unity学习笔记------用Unity2D制作打地鼠游戏
  12. python飞机大战实验报告心得_飞机大战实训报告
  13. WMS系统运用波次拣货原理
  14. Address Sanitizer 用法
  15. 3、VBA网抓高德地图货车路径规划距离(借助刘永富老师插件解析JSON格式数据)
  16. 小程序如何在其他页面监听globalData中值的变化?
  17. 今日头条 ocpc java_今日头条OCPC应该怎么玩?转化才定蹭蹭蹭
  18. C++核心编程笔记——内存分区模型(出自b站黑马程序员视频)
  19. 哪些人适合报考消防工程师?
  20. 流程DEMO-付款申请单

热门文章

  1. GoLang之编译器自动检测类型是否实现接口(5)
  2. 感觉今年的春节联欢晚会
  3. gojs2.2.19去除水印的办法
  4. 修改浏览器360主页
  5. WindowsServer2019 80端口被 System 占用pid 4
  6. 专科生从实习到现在两年,入行回顾和总结。 有收获,有失去,有遗憾,哪怕前路迷茫,仍要继续前行。
  7. web设计器--设计流程图(raphael)(二)
  8. Qt基于tcp网络服务器的简易版多人贪吃蛇小游戏(多线程)
  9. 将1~36进制的数字转成十进制数输入
  10. 数据段、代码段、BSS段、堆栈段