I like the overall idea of Capybara
, but i can't run it against the Java
application for some reason.
Is that possible at all?
Some major testing framework which can be used with Capybara is : Cucumber is a Ruby-based test tool for BDD. RSpec is a behaviour-driven development (BDD) framework, inspired by JBehave. Minitest: is a testing suite for Ruby.
Capybara is a web-based automation framework used for creating functional tests that simulate how users would interact with your application. Capybara is a library/gem useful for an underlying web-based driver.
Capybara is a library/gem useful for an underlying web-based driver. Moreover, it offers a user-friendly DSL (Domain Specific Language) which is useful to describe actions that execute by the underlying web driver.
Yes, it is possible and we are doing it. Just use the selenium-webdriver gem with firefox or Chromium to remotely test the running application.
You can't test it from the Java test environment as you don't have the Rack infrastructure, but you can create a separate ruby testsuite and run rake when your java app is running on your development machine (or even autostart the application from the Rakefile)
This is how cucumber's env.rb looks like:
#
# features/support/env.rb
#
$: << File.join(File.dirname(__FILE__), "..", "..", "lib")
browser = :chrome #:htmlunit #:chrome #:firefox
host = ENV['TESTHOST'] || 'http://localhost:8080'
# may be non url was given
if not host.include?("//")
host = "https://#{host}"
end
ENV['LANG'] = "en_US.UTF-8"
require 'rubygems'
require 'capybara'
require 'capybara/cucumber'
require 'selenium-webdriver'
require 'culerity' if browser == :htmlunit
case browser
when :htmlunit
Capybara.default_driver = :culerity
Capybara.use_default_driver
else
Capybara.default_driver = :selenium
Capybara.app_host = host
end
Capybara.run_server = false
if Capybara.default_driver == :selenium
Capybara::Driver::Selenium.browser = browser
driver = Selenium::WebDriver.for browser
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With