您的位置:首页 > 大数据 > 人工智能

Rails项目中使用Cucumber测试

2015-02-01 15:11 337 查看
以前只是知道,自己在一个项目中自己该怎么去写一个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`

见证奇迹的时刻。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: