是否可以使用Capybara测试Java应用程序?

时间:2010-07-02 09:36:38

标签: java ruby capybara

我喜欢Capybara的整体想法,但出于某种原因我无法针对Java应用程序运行它。

这可能吗?

谢谢

3 个答案:

答案 0 :(得分:6)

是的,这是可能的,我们正在这样做。只需使用带有firefox或Chromium的selenium-webdriver gem来远程测试正在运行的应用程序。

您无法从Java测试环境中测试它,因为您没有Rack基础架构,但是当您的Java应用程序在您的开发机器上运行时,您可以创建单独的ruby测试套件并运行rake(甚至自动启动来自Rakefile的应用程序)

这就是黄瓜的env.rb的样子:

#
# 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

答案 1 :(得分:0)

据我所知,

Capybara与Ruby有关。 但是,如果您对使用Cucumber和Java感兴趣,请查看cuke4duke: http://wiki.github.com/aslakhellesoy/cuke4duke/

您可以使用多种语言编写步骤定义并使用WebDriver驱动浏览器。

答案 2 :(得分:0)

偶然发现了这个,并发现cuke4duke已经停止。然而,更好的消息是,cucumber-jvm可以正式实现Cucumber for JVM。

PS。起初我认为这将是JCucumber:P