Ben salatalık + webrat kullanıyorum ama ekstra Rails 3 uyumluluk ve javascript test gerekiyordu capybara + selenium değiştirildi. Şu anda Rails 3.0.7, Salatalık 0.10.2, caybara 1.0.0.beta1 kulüpler.Salatalık + Capibara + Selenium firefox example.com benim app değil
Sorun: Bir javascript senaryoyu çalıştırdığımda, firefox, raylar uygulamasının yerine "http://www.iana.org/domains/example/" veya "www.example.com" adresini açar.
Eminim ki eksik olan küçük bir ayardır, ama bunu bulamıyorum ve bu da birkaç günlüğüne beni şaşırttı.
Neyse, benim gemfile okur:
group :development, :test do
gem 'cucumber'
gem 'cucumber-rails', ">= 0.3.2"
gem 'pickle'
gem "launchy"
gem "rspec-rails"
gem "Selenium"
gem "selenium-client"
gem "selenium-webdriver"
gem "database_cleaner"
gem "factory_girl_rails"
gem "capybara"
gem "escape_utils"
end
özelliğidir:
@wip
@javascript
Scenario: Calculate 1 recipe and be deducted a credit
Given the following page records
| name | permalink |
| home | home |
And the following role records
| name |
| SuperAdmin |
| Admin |
| Customer |
When I register "adam" with password "password"
And I go to the index
Then I should see "5 credits"
firefox penceresi açar adım:
When /^I am logged in as "([^"]*)" with password "([^"]*)"$/ do |username, password|
unless username.blank?
visit(root_path)
fill_in "user_session_username", :with => username
fill_in "user_session_password", :with => password
click_button "login"
page.should have_content("Successfully logged in!")
end
end
benim özellikleri/destek/env. rb:
require 'cucumber/rails'
require 'factory_girl'
require 'ruby-debug'
require 'selenium/client'
# require 'capybara/cucumber' commented out because it doesn't want to work with it in
Capybara.default_driver = :selenium
Capybara.server_boot_timeout = 50
Capybara.default_selector = :css
begin
DatabaseCleaner.strategy = :truncation
rescue NameError
raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
end
komut istemi diyor ki:
When I register "adam" with password "password" # features/step_definiti
ons/web_steps.rb:229
no link with title, id or text 'register' found (Capybara::ElementNotFound
)
(eval):2:in `click_link'
./features/step_definitions/web_steps.rb:232:in `/^I register "([^"]*)" wi
th password "([^"]*)"$/'
features\credit_behaviour.feature:30:in `When I register "adam" with passw
ord "password"'
Ben HERHANGİ Yardım büyük takdir söyleyerek, bu nedenle herhangi bir öneri lütfen bana üzerinde kolay olacak Raylar ve Ruby için oldukça yeni.
Bu, her testte "url" yerine "yol" kullandığınız anlamına mı geliyor? Veya daha iyi bir yol buldunuz (belki ev sahibi ya da bir şeyleri değiştiriyor muydunuz?) –
evet _url yerine _path kullanıyorum. Bunu yapmanın 'doğru' yolu olup olmadığından emin değilim ama şimdilik işe yarıyor. – RickyD
Jnicklas'a göre, _path kullandığınızdan ve istenmeyen sonuçlara sahip olabileceğinden _url kullandığınızdan emin olmak istersiniz. – Galaxy