Что следует использовать для просмотра файлов с помощью RSpec: Selenium или Jasmine?

Я использую Ruby on Rails 3.2.2, cucumber-rails-1.3.0, rspec-rails-2.8.1 и capybara-1.1.2 с драйвером Selenium. После получения ответа на мой предыдущий вопрос У меня возникло сомнение: следует ли мне использовать рубиновый камень Selenium или рубиновый камень Jasmine для проверки файлов просмотра с помощью RSpec? Если да, поскольку я уже использую Selenium для того, чтобы протестируйте JavaScript для просмотра файлов с помощью Cucumber, почему (при тестировании с RSpec) я должен использовать Jasmine вместо Selenium? То есть зачем использовать два рубиновых камня, которые имеют одно и то же назначение и делают одни и те же вещи?

В общем и практическом плане, как вы посоветуете тестировать файлы просмотра с помощью RSpec? ... но является ли это «правильным способом» тестирования файлов просмотра с помощью RSpec или мне следует тестировать их с помощью Cucumber?


person Backo    schedule 02.04.2012    source источник


Ответы (1)


Я предпочитаю использовать selenium server, selenium IDE в firefox для записи и selenium client для rspec.

selenium_helper.rb

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path(File.join(File.dirname(__FILE__),'../..','config','environment'))
require 'spec/autorun'
require 'spec/rails'
require 'factory_girl'
require 'rspec/instafail'
require "selenium/client"

Spec::Runner.configure do |config|
end

rspec_tester_file_spec.rb

  require "selenium/selenium_helper"
    require "selenium/modules/loginator"

    describe "tester" do
      attr_reader :selenium_driver
      alias :page :selenium_driver

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

      before(:each) do
        @selenium_driver.start_new_browser_session
      end

      append_after(:each) do
        @selenium_driver.close_current_browser_session
      end

      it "login and then try to search for stuff" do
        @login.run_login(page)
        page.click "link=CSR"
        page.wait_for_page_to_load "30000"
        page.type "id=isq_Name", "john smith"
        page.click "css=input[type=\"submit\"]"
        page.wait_for_page_to_load "30000"
        page.is_text_present("Update")
        page.is_text_present("Date")
        page.is_text_present("PIN")      
        page.is_text_present("Name")
      end
person earlonrails    schedule 05.05.2012
comment
Я хотел бы также добавить, что я использую жасмин, но только для тестирования javascript, а не для тестирования на основе просмотра. Кроме того, если у меня есть функция javascript, которую можно протестировать с помощью жасмина, я это сделаю, но не тогда, когда она изменяет элементы пользовательского интерфейса. Элементы пользовательского интерфейса я проверяю с помощью селена. - person earlonrails; 12.05.2012