2009-09-04 113 views
12

我一直在使用Cucumber和Webrat一段时间。我现在需要开始编写涉及AJAX交互的行为,所以我正在考虑为Webrat使用Selenium适配器。 任何人都可以指出一个简单和更新的安装和配置selenium + webrat +黄瓜一步一步的指导? 我想能够将javascript场景与非JavaScript场景混合使用。黄瓜+ Webrat + Selenium指南

回答

8

我在我的项目中使用带rspec的Selenium,并从Selenium IDE的自定义格式化程序中生成代码。

有许多硒的轨道,但我成功使用硒-RC http://seleniumhq.org/download/,所以下载到您的电脑。

这里是我的步骤:

  1. 解压并运行> Java的罐子硒的server.jar
  2. 开放硒的客户红宝石,阅读文档,遵循它,你将获得成功!
  3. 宝石安装rspec的,RSpec的护栏1.2.6版本(如果不是,你需要注释的版本限制的硒客户端源代码)
  4. 创业板安装硒的客户
  5. 开放硒-IDE(当然火狐),打开选项 - >选项 - >格式
  6. 单击添加,粘贴在http://www.techdarkside.com/rspec_export.txt

此代码现在,你只出口到规范你对我的天赋文件夹,我使用规格/功能/ xxxx_spec.rb看下面的代码。

非常类似的方法可以找到here

对于webrat +黄瓜,最新Rspec book会给你所需要的。 (他们没有硒+黄瓜章尚未完成)

例如

require 'rubygems' 
gem "rspec", "=1.2.6" 
gem "selenium-client", ">=1.2.15" 
require "selenium/client" 
require "selenium/rspec/spec_helper" 

describe "Google Search" do 
    attr_reader :selenium_driver 
    alias :page :selenium_driver 

    before(:all) do 
     @selenium_driver = Selenium::Client::Driver.new \ 
      :host => "localhost", 
      :port => 4444, 
      :browser => "*firefox", 
      :url => "http://www.google.com", 
      :timeout_in_second => 60 
    end 

    before(:each) do 
    selenium_driver.start_new_browser_session 
    end 

    # The system capture need to happen BEFORE closing the Selenium session 
    append_after(:each) do 
    @selenium_driver.close_current_browser_session 
    end 

    it "can find Selenium" do 
    page.open "/" 
    page.title.should eql("Google") 
    page.type "q", "Selenium seleniumhq" 
    page.click "btnG", :wait_for => :page 
    page.value("q").should eql("Selenium seleniumhq") 
    page.text?("seleniumhq.org").should be_true 
    page.title.should eql("Selenium seleniumhq - Google Search") 
    page.text?("seleniumhq.org").should be_true 
      page.element?("link=Cached").should be_true 
    end 

end