行为驱动的测试,如果说你还不了解这个概念,那你应该先去网上查查,如果你知道行为驱动的测试,那么我们将讲讲这个cucumber的工具,一个用于行为测试的工具。
先说安装:
1.安装ruby,这个不细说了,网上找能找出一大堆来。
3.之后安装Devkit,命令如下:
ruby dk.rb init
ruby dk.rb install
4.下面安装所需要的gem包
gem update --system
gem install rspec --no-ri --no-rdoc
gem install win32console --no-ri --no-rdoc
gem install watir-webdriver --no-ri --no-rdoc
gem install cucumber --no-ri --no-rdoc
5.这样就安装成功了,可以用下面命令查看Cucumber的版本
安装成功后我们写入一个简单的实例,加入我们有这样一个应用,这个应用是给购机充值的,我们测试充值是否成功
首先我们就会根据我们的测试行为进行描述,这样我们也会建立一个feature的文件,内容如下:
# language:zh-CN
功能:测试缴费
场景:测试正常缴费是否成功
假如我要给138的号码充值100元钱
当我充值成功
那么我就可以发现我的余额多了100元钱
我们建立一个目录结构
+feature
-test.feature
+step_definitons
-test_steps.rb
然后我们吧上面的描述保存到test.feature文件中,test_steps.rb先不建立,然后在跟目录执行
# language:zh-CN
功能: 测试缴费试缴费煞??
0 scenarios
0 steps
0m0.014s
D:\ai_workspace\automation\cucumber>cucumber features\test.feature
# language:zh-CN
功能: 测试缴费试缴费煞??
场景: 测试正常缴费是否成功缴费是否成功否成功晒?? # features\test.featur
e:3
假如我要给138的号码充值100元钱 # features\test.feature:4re:4
当我充值成功 # features\test.feature:50m
那么我就可以发现我的余额多了100元钱 # features\test.feature:6eature:6
1 scenario (1 undefined)
3 steps (3 undefined)
0m0.027s
You can implement step definitions for undefined steps with these snippets:
假如 /^我要给(\d+)的号码充值(\d+)元钱$/ do |arg1, arg2|
pending # express the regexp above with the code you wish you had
end
当 /^我充值成功$/ do
pending # express the regexp above with the code you wish you had
end
那么 /^我就可以发现我的余额多了(\d+)元钱$/ do |arg1|
pending # express the regexp above with the code you wish you had
endyou wish you had
end
这里要我们实现相关的步骤,之后我们建立test_steps.rb文件代码如下:
# encoding: utf-8
begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
require 'cucumber/formatter/unicode'
$:.unshift(File.dirname(__FILE__) + '/../../lib')
#require 'calculator'
Before do
end
After do
end
假如 /^我要给(\d+)的号码充值(\d+)元钱$/ do |arg1, arg2|
puts "执行了对#{arg1}的查询"
puts "然后在充值选择框中写入了#{arg2}元钱"
end
当 /^我充值成功$/ do
puts "我单击的充值按钮"
end
那么 /^我就可以发现我的余额多了(\d+)元钱$/ do |arg1|
puts "弹出了我成功提交的提示窗"
puts "我查询数据库发现,充值成功了"
end
之后我们再运行cucumber
就会看到正确执行了,结果如下:
# language:zh-CN
功能: 测试缴费试缴费煞??
场景: 测试正常缴费是否成功缴费是否成功否成功晒?? # features\test.featur
e:3
假如我要给138的号码充值100元钱 # features/step_definitons/calculator_steps.
rb:14b:14
执行了对138的查询檠?[0m0m
然后在充值选择框中写入了100元钱肓?00元钱
当我充值成功 # features/step_definitons/calculator_steps.rb:180
m
我单击的充值按钮按钮0m
那么我就可以发现我的余额多了100元钱 # features/step_definitons/calculator_st
eps.rb:21ps.rb:21
弹出了我成功提交的提示窗的提示窗
我查询数据库发现,充值成功了充值成功了?[0mm
1 scenario (1 passed)
3 steps (3 passed)
0m0.050s
是不是感觉很酷啊,很多具体的实现还要去看具体的帮助文档。这里只做简单的介绍了。
分享到:
相关推荐
根据书名及描述,“Cucumber”并非一个简单的应用测试工具,而是一种沟通理念,它能够有效地帮助开发者与客户之间建立更加清晰的需求沟通渠道。Cucumber通过一种自然语言处理的方式来编写测试案例,这使得非技术人员...
一个简单的入门项目,用于将Cucumber与量角器结合在一起。 该项目还有一个在测试中使用页面对象的示例。 工作中的新教程 该项目最近已更新为使用Cucumber.js版本2.3.1。 正在编写一个新教程,该教程将包含如何在最新...
入门 我的团队正在 Kotlin 中创建一个应用程序。 为了简化 Cucumber 测试的开发,我们决定将 Cucumber-jvm 与 Kotlin 一起使用,而不是 Java。 幸运的是,可以使用 . 先决条件 如果您想继续,请确保安装了以下内容:...
Cucumber是一个流行的BDD工具,它允许开发者使用类似英语的语句来编写测试用例,这些用例既易于理解,又可以直接执行自动化测试。 在Cucumber的流程中,首先,我们通过“Gherkin”语法描述产品的行为,这是一种结构...
- **Cucumber入门**:解释Cucumber的工作原理、Gherkin语言的使用方法以及如何编写有效的行为特征。 - **集成RSpec与Cucumber**:探讨如何结合RSpec和Cucumber的优点,实现更强大的BDD测试策略。 - **实战演练**:...
Cucumber步骤api 用于API测试和支持功能的Cucumber步骤库安装使用以下命令将npm模块安装为开发依赖项npm install --save-dev cucumber-steps-api 如果目标模块是可执行的测试套件,则使用以下命令将cucumber-steps-...
入门项目,以TypeScript语言编写和调试Cucumber-js v6功能。 !!! 该模板仅适用于Cucumber-js v6。 对于cucumber-js v7,此模板已迁移到!!! 克隆回购后 运行命令npm install 。 在本地执行测试 运行命令npm test...
项目代码
笑话Cucumber 在Jest中执行小Cucumber方案 概述 jest-cucumber是在之上运行的的替代方案。 您不必为每个场景编写一个Jest测试,而无需使用describe和it块,然后...安装Jest Cucumber: npm install jest-cucumber --sa
要安装Cucumber,请执行以下操作: npm install cucumber --save-dev 要安装Junit Reporter,请执行以下操作: npm install cucumberjs-junitxml --save-dev 要安装Chai: npm install chai --save-dev 执行测试 ...
Serenity和Cucumber入门 Serenity BDD是一个库,可以轻松编写高质量的自动验收测试,并具有强大的报告和实时文档记录功能。 它对使用Selenium的Web测试和使用RestAssured的API测试都具有强大的支持。 Serenity强烈...
Cucumber.js 是一个基于行为驱动开发(BDD)的测试框架,主要用于编写可读性强、易于维护的自动化测试。这个“cucumberjs-demo”项目是一个实际应用,展示了如何使用 Cucumber.js 来规范和测试一个斐波那契计算器。...
SelenideCucumber魅力报告...先决条件入门-安装Git -5分钟内完成Maven如何安装此项目git clone https://github.com/Pavelya/Selenide-cucumber-allure-reports-java.git 运行测试-命令行模式cd to project path Run w
TestcafeCucumber样板 该项目样板将帮助您开始使用Cucumber和Testcafe。入门安装依赖项npm: npm install纱: yarn运行测试yarn test建于
赛普拉斯Cucumber入门赛普拉斯项目很容易使用和预配置。 请注意:此仓库的唯一目的是演示如何将柏树Cucumber预处理器与多个Cucumber报告器集成。安装npm install --legacy-peer-deps开幕柏npm run cy:open全面测试...
搭建这个完全是因为之前某个团队就要这么做而搭建,然后实际API自动化测试中,非常不建议通过(Cucucmber)这种方式来实现。完全可以用rest assured ...快速入门: 发起Get请求step: When I send a GET request to "Api
入门 要运行测试,您需要安装和 。 要生成“魅力报告”,您应该执行以下操作: 注意:必需的Maven版本3.1.1或更高版本 OnFailureSchedulerCallback 此功能使用户可以安排测试失败的事件。 这就是它的工作方式: ...