Я использую Cucumber и Webrat какое-то время. Теперь мне нужно начать писать поведение, связанное с взаимодействиями AJAX, поэтому я думал использовать Selenium-адаптер для Webrat. Может ли кто-нибудь указать простой и обновленный шаг за шагом руководство по установке и настройке селена + webrat + огурец? Я хотел бы иметь возможность смешать javascript-сценарий с сценариями, отличными от javascript.
Огурец + Webrat + селеновый путеводитель
Ответ 1
Я использую Selenium с rspec в своем проекте и генерирую код из пользовательского форматирования для Selenium IDE.
Существует много селен для рельсов, но я успешно использую Selenium-RC http://seleniumhq.org/download/, поэтому загрузите на свой компьютер.
Вот мои шаги:
- Разархивируйте и запустите > java -jar selenium-server.jar
- Откройте selenium-client-ruby, прочитайте документ, следуйте за ним, вы получите успех!
- gem install rspec, rspec-rails версия 1.2.6 (это не так, вам нужно прокомментировать ограничение версии исходного кода selenium-client)
- gem install selenium-client
- Open Selenium-IDE (Firefox, конечно), Open Options → Options → Formats
- Нажмите "Добавить" и вставьте этот код в http://www.techdarkside.com/rspec_export.txt
Теперь вы просто экспортируете spec в свою папку spec для меня, я использую spec/features/xxxx_spec.rb, см. код ниже.
Очень похожий подход можно найти в здесь
Для webrat + огурца, последняя книга Rspec даст все, что вам нужно. (У них еще нет отделки отделки селена и огурца)
Пример
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