5

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

这有可能吗?

4

3 回答 3

6

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

由于您没有 Rack 基础设施,因此无法从 Java 测试环境对其进行测试,但是您可以创建一个单独的 ruby​​ 测试套件并在您的 Java 应用程序在您的开发机器上运行时运行 rake(甚至可以从耙文件)

这是黄瓜的 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
于 2010-08-31T09:38:13.050 回答
0

据我所知,Capybara 与 Ruby 相关联。但是,如果您对在 Java 中使用 Cucumber 感兴趣,请查看 cuke4duke: http ://wiki.github.com/aslakhellesoy/cuke4duke/

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

于 2010-07-12T10:56:53.800 回答
0

刚刚偶然发现这个,发现cuke4duke已经停产了。然而,更好的消息是 Cucumber 有一个官方的 JVM 实现,如cucumber-jvm

PS。起初我以为是 JCucumber :P

于 2013-04-29T17:32:01.603 回答