2009-09-04 9 views
12

私はしばらくの間、キュウリとウィブラットを使用してきました。私はAJAXのやりとりを含む動作を書く必要がありますので、私はWebrat用にSeleniumアダプタを使用することを考えていました。 誰もが、セレン+ワイルド+キュウリをインストールして設定するための簡単で最新のステップバイステップガイドを指摘できますか? javascriptシナリオとjavascript以外のシナリオを混在させたいと考えています。キュウリ+ Webrat +セレンガイド

答えて

8

私のプロジェクトでは、rspecでSeleniumを使用しており、Selenium IDE用のカスタムフォーマッタからコードを生成しています。

レールにはセレンがたくさんありますが、Selenium-RC http://seleniumhq.org/download/を使用すると成功しますので、PCにダウンロードしてください。

  1. 解凍して実行>のjava -jarセレン-server.jar
  2. あなたが成功を得るだろうセレン・クライアント・ルビーは、ドキュメントを読んで、それに従うオープン:

    は、ここに私の手順です!

  3. 宝石はRSpecの、RSpecのレールバージョン1.2.6(それは、あなたがバージョンはセレン・クライアントのソースコードの制限はコメントする必要はありません)
  4. 宝石は、セレン、クライアント
  5. オープンセレンIDEもちろんの(Firefoxのインストールをインストール)、オープンオプション - >オプション - >フォーマット私のためにあなたのスペックフォルダへ
  6. [追加]をクリックして、今すぐhttp://www.techdarkside.com/rspec_export.txt

で、このコードを貼り付け、あなただけの輸出仕様、私が使用スペック/機能/ xxxx_spec.rb以下のコードを参照してください。

非常に類似したアプローチがwebrat +キュウリについてhere

で見つけることができる、最新の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 

例を(彼らはまだセレン+キュウリ章仕上げを持っていません)

関連する問題