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

5

我很喜欢 Capybara 的整体思路,但出于某些原因无法在 Java 应用程序上运行。

这是否可能呢?

3个回答

6

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

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

这是cucumber的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

0
刚刚偶然发现一个消息,发现cuke4duke已经停止开发了。但更好的消息是,现在有官方的Cucumber JVM的实现可用了,就是cucumber-jvm
PS. 起初我还以为会叫JCucumber :P

0
据我所知,Capybara与Ruby有关。但是,如果您想使用Java来运行Cucumber,则可以查看cuke4duke:http://wiki.github.com/aslakhellesoy/cuke4duke/ 您可以使用各种语言编写步骤定义,并使用WebDriver驱动浏览器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接