第一章 cucumber测试框架综述

本文介绍了Cucumber测试框架,它是行为驱动开发的自动化测试工具,支持多种语言。Cucumber由Features、Step_definitions和Cucumber命令组成,使用Gherkin语法编写测试用例。文章详细阐述了Cucumber的开发过程,包括创建Maven项目、配置pom.xml、编写feature文件、创建step定义类以及运行测试。通过实践步骤,展示了如何在IDEA中设置和运行Cucumber测试。

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

1.1 什么是BDD(行为驱动开发)

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

1.2 Cucumber 简介

  Cucumber是一个测试框架。有人说,这个框架非常适合UI自动化测试,他不
仅能把用例中的测试步骤以非常友好的形式展现出来,而且能够非常灵活的构建场景。
  Cucumber 是一个能够理解用普通语言 描述的测试用例的行为驱动开发(BDD)的自动化测试工具,用Ruby编写,支持Java和·Net等多种开发语言。
  Cucumber可以让人们用近似自然的语言去描述Feature(什么是Feature在后面有讲述)和场景,根据Feature驱动开发。用作软件技术人员和非技术之间验收测试的桥梁。它是一个命令行工具。运行后,会执行features中的内容。feature中的step会调用stepdefinitions(Ruby代码)可以用标签来组织场景支持40多种语言高质量集成Ruby。

  优点:
  • Cucumber支持不同的语言,例如Java、.net、Ruby
  • 它充当业务与技术间桥梁的角色。可以通过在纯英文文本中创建一个测试用例来实现这一点。
  • 它允许在不知道任何代码的情况下编写测试脚本,它允许非程序员参与。
  • 它以端到端测试框架为目的
  • 由于简单的测试脚本架构,Cucumber提供了代码可重用性

1.3 Cucumber三大组成

  Cucumber有三个重要组成部分,Features、Step_definitions、Cucumber command
这里写图片描述
组件之间的工作原理如图:
这里写图片描述

1.4 Features

  语法规则:

  基于Gherkin。Gherkin是一种简单的英语文本语言,它有助于工具–Cucumber解释和执行测试脚本。支持语言:# language: en (zh-CN)等
  Features文件必须以.features命名。包含title,多个scenarios,每个scenario包含多个step。
  Step定义必须以关键字Given,When,Then,And开始。

1.5 Step_definitions

  根据feature文件中定义的step编写对应的测试代码

1.6 Cucumber command

  运行:*.feature文件。cucumber会分析feature文件中定义的step,然后去step - definitions寻找相匹配的step,执行step中的代码。运行结果以html的形式保存,fail的情况查看对应log日志。在IDEA上可以直接点击测试类进行运行,具体会在后面的例子中进行说明。

1.7 Cucumber的开发过程

  1. 创建feature文件,包括feature,scenarios和step。
  2. 创建step_definitions。IDEA中可右击自动创建。
  3. cucumber –format progress。格式化输出。可修改为html,xml等格式输出。
  4. 添加断言:
  5. 一个场景失败,Cucumber将此场景标记失败,转去执行下一场景。
  6. 一个step失败,会跳过这个scenario的其余step,从而终止这个scenario。

1.8 实践

1.首先创建一个MAVEN 项目。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值