Rails项目中使用Cucumber测试

12 篇文章 0 订阅
1 篇文章 0 订阅
     以前只是知道,自己在一个项目中自己该怎么去写一个cucumber测试,甚至有时候自己也不知道,该怎么写,从来没有自己
     从头到尾在自己的项目中去使用cucumber测试。通过参加这次活动,算是有了一个基本的认识。


     BDD(Behavier Driven Developer)现在时敏捷开发领域一种非常流行的开发模式,在敏捷实践中用户故事地图是在开始
     一个项目之前要基本确定的一个简单地用户需求,他需要将一个完整的项目拆分成很多个完整的用户故事,及Story,对于这么
     多用户故事,在实际开发中会会有开发人员和BA一起确定一个开发的先后顺序。而针对每一个具体的Story,会有BA写一个或者
     多个AC,对于每一个AC其实就是一个完整的cucumber测试用例,当然这些都是敏捷实践领域的知识,今天我们就来简单地介绍一下如何在自己的项目中引入cucumber测试(只是针对Web开发,其实后台的程序也可以使用cucumber来测试,道理是一样的。)
       **声明我们今天测试的ruby-china社区的登录**


      Step1:在Gemfile文件中引入一下几个Gem包:
        gem 'capybara'
gem 'cucumber'
gem 'selenium-webdriver'
gem 'site_prism'
gem 'require_all'
      Step2:运行`bundle install`
      Step3:在项目目录下创建一个features/support目录,在里边添加一个env.rb的文件,并且在文件中添加以下代码:
require 'capybara'
require 'capybara/cucumber'
require 'selenium-webdriver'
require 'site_prism'
require 'require_all'


require_all 'lib/pages'


Capybara.register_driver :selenium do |app|
options = {
:browser => :firefox
}
Capybara::Selenium::Driver.new(app, options)
end


Capybara.run_server = false
Capybara.default_wait_time = 30
Capybara.app_host = 'https://ruby-china.org/account/sign_in'
Capybara.default_driver = :selenium
Step4:在features目录下创建一个step_definitions目录,在该目录下添加login_steps.rb文件,并且在文件中添加以下代码:
 Given(/^I login with "(.*?)" with "(.*?)"$/) do |email, password|
@login_page = LoginPage.new
@login_page.load
@login_page.login(email, password)
end


Then(/^I should see "(.*?)"$/) do |username|
expect(page).to have_text(username)
end


Then(/^I should see "(.*?)" on login page$/) do |error_message|
expect(@login_page.login_failed_error.text).to eq error_message
end
      Step5: 在lib/pages目录下添加login_page.rb文件,并且在文件中添加以下代码:
        class LoginPage < SitePrism::Page
set_url '/'


element :login_failed_error, 'section.login-panel div.alert'
element :username, '#user_login'
element :password_input, '#user_password'
element :login_button, 'input[name="commit"]'


def login(user, password)
username.set user
password_input.set password
login_button.click
end
end


 到此一个基本的cucumber测试基本已经搭建完成,现在试着在你的doc命令下进去到你的项目目录下,试着运行`cucumber`
 见证奇迹的时刻。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值