require 'rubygems'
require 'capybara'
require 'capybara/dsl'
Capybara.run_server = false
Capybara.current_driver = :selenium
Capybara.app_host = 'http://www.google.com'
module MyCapybaraTest
class Test
include Capybara
def test_google
visit('/')
end
end
end
t = MyCapybaraTest::Test.new
t.test_google
注意只有内置的selenium,或者使用其他扩展才能测试javascript,例如drag and drop
describe Capybara::Driver::Selenium do
before do
@driver = Capybara::Driver::Selenium.new(TestApp)
end
it_should_behave_like "driver"
it_should_behave_like "driver with javascript support"
end
shared_examples_for "driver with javascript support" do
before { @driver.visit('/with_js') }
describe '#find' do
it "should find dynamically changed nodes" do
@driver.find('//p').first.text.should == 'I changed it'
end
end
describe '#drag_to' do
it "should drag and drop an object" do
draggable = @driver.find('//div[@id="drag"]').first
droppable = @driver.find('//div[@id="drop"]').first
draggable.drag_to(droppable)
@driver.find('//div[contains(., "Dropped!")]').should_not be_nil
end
end
describe "#evaluate_script" do
it "should return the value of the executed script" do
@driver.evaluate_script('1+1').should == 2
end
end
end
#rspec版本
#Gemfile
source 'http://rubygems.org'
gem 'rspec'
gem 'capybara', :git => 'https://github.com/jnicklas/capybara.git'
gem 'launchy'
gem 'ruby-debug19'
#sign_in_spec.rb
require File.dirname(__FILE__) + '/../spec_helper'
describe "sign in", :type => :request do
it "should sign me in" do
# Sign in and make assertions
end
end
#spect_helper.rb
require 'rubygems'
require 'bundler/setup'
require 'ruby-debug'
require 'rspec'
require 'capybara/rspec'
Dir.glob(File.dirname(__FILE__) + '/factories/*', &method(:require))
# Capybara configuration
Capybara.default_driver = :selenium
Capybara.save_and_open_page_path = File.dirname(__FILE__) + '/../snapshots'
# RSpec configuration
RSpec.configure do |config|
config.before(:all) do
# Create fixtures
end
config.after(:all) do
# Destroy fixtures
end
config.around(:each) do |example|
begin
example.run
rescue Exception => ex
save_and_open_page
raise ex
end
end
end
capybara相关API
这是一个cucumber配合capybara测试外部URL,不是本机网站的例子
一些capybara的扩展驱动
关于capybara
分享到:
相关推荐
“Ruby-一个微小的Rails引擎通过在开发环境中记录浏览器操作来生成Capybara测试场景”这个项目提供了一种创新的方法,它实际上是一个小型的Rails引擎插件,可以在开发环境中自动记录开发者对应用程序的实际操作,并...
3. **RSpec配置**:编辑`spec_helper.rb`来配置RSpec的行为和偏好,例如指定默认的测试环境、启用或禁用特定特性等。 4. **生成器**:使用`rails generate rspec:install`命令来初始化RSpec,并创建必要的目录结构和...
通过Capybara,我们可以编写出更加贴近真实用户交互的测试,而Database_Cleaner则确保了测试环境的清洁。这样的测试实践有助于提升代码质量,减少因未捕获的错误导致的问题,从而增强应用的稳定性和可靠性。
### CentOS环境下Rails 3开发环境搭建详解 #### 一、准备工作与环境配置 在开始部署Rails 3开发环境之前,我们需要确保系统上已经安装了一些基本的软件包和工具。这一步骤对于后续的Ruby和Rails安装至关重要。 ##...
在Ruby on Rails环境中,开发者可以创建、运行、测试和部署Web应用。RoR的便利性在于其“约定优于配置”的原则,使得许多常见的任务自动化,降低了开发复杂度。因此,正确搭建RoR环境是高效开发的关键。 总的来说,...
至此,你已经成功地在Rails项目中搭建了Autotest和Spork的测试环境。当你修改代码后,测试会自动运行,Spork会提供更快的测试执行速度。这种高效的工作流程有助于提高开发效率,确保代码质量和项目的稳定性。 然而...
7. **运行测试**:Rails项目通常包含测试套件,可以使用`rake test`或`rspec`(如果使用RSpec测试框架)来运行这些测试,确保代码正常工作。 8. **配置开发环境**:除了基本的Rails设置,开发者还可能需要配置其他...
##在 Rails 中快速设置 RSpec,使用 Capybara、Factory Girl、Database Cleaner、Shoulda-matchers 等... 在命令行中,运行rails new app_name -T (关闭默认测试单元) 将 Gems 添加到 gemfile,然后捆绑。 gem '...
在Ubuntu服务器上搭建Rails生产环境是一项关键的任务,它涉及到多个步骤和组件的配置。Rails是Ruby的一个框架,用于构建Web应用程序。在这个过程中,我们将主要关注以下几个核心知识点: 1. **Ruby 安装**:首先,...
在使用生成器之前,请按照以下步骤将gem添加到项目的Gemfile中: group :test do gem 'cucumber-rails' , require : false # database_cleaner is not required, but highly recommended gem 'database_cleaner'...
用生成的目录测试新动作并显示动作测试创建动作测试索引和编辑操作测试更新和销毁操作安装和设置Devise gem 测试认证测试授权模型测试模型的责任测试验证测试协会测试实例方法测试数据库查询隔离测试嘲笑,存根和...
在软件开发中,测试是确保...通过本文的探讨,我们了解到了Rails中单元测试和功能测试的区别,以及如何利用Rails的测试工具来编写高质量的测试代码。掌握这些知识,将有助于开发者在Rails项目中实施有效的测试策略。
在本教程中,我们将深入探讨如何在Windows XP操作系统上搭建Ruby on Rails开发环境,特别强调使用RadRails作为集成开发环境(IDE)。Ruby on Rails(RoR)是一个强大的Web应用程序框架,它基于Ruby编程语言,提供了...
rails-i18n, 用于收集 Ruby on Rails i18n 环境数据以及其他有趣的Rails 相关 i18n 内容的存储库 Rails 语言环境数据存储库 中心收集区域设置数据,以便在 ruby 上使用。 gem-安装添加到你的Gemfile:gem 'rails-i18n...
这部分讲解了如何在测试前设置环境,以及测试结束后如何清理资源,避免测试间相互影响。 九、测试路由 测试应用的路由配置同样重要,该指南提供了如何测试路由的方法,确保应用中的URL路径与预期一致。 十、测试...
这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何利用Rails的强大功能来创建一个允许用户上传、分享和浏览图片的应用。 1. **Rails框架基础**: Rails的核心理念是DRY(Don't...
您可能想要涵盖的内容: Ruby版系统依赖配置数据库创建数据库初始化如何运行测试套件服务(作业队列、缓存服务器、搜索引擎等) 部署说明… 如果您不打算运行rake doc:app请随意使用不同的标记语言。
完整的API文档可以在这里找到:安装将此行添加到您的应用程序的Gemfile中: gem 'evil_system_tests' 然后执行: bundle设置最小测试导航到Rails应用test/application_system_test_case.rb中的test/application_...
标签 "源码" 和 "工具" 暗示文章可能深入探讨了Rails的内部机制,以及可能使用的一些辅助工具或插件,如jQuery或Turbolinks,以增强Ajax功能。然而,由于没有具体的内容,这些都只是基于常规知识的推测。文件名 ...
一个微型Rails引擎,通过在开发环境中记录浏览器操作来生成水豚测试场景。 安装 将此行添加到Rails应用程序的Gemfile中(在大多数情况下,仅适用于开发组): gem 'heavens_door' , group : :development 用法 开始...