Можно ли протестировать Java-приложение с Capybara? - PullRequest
5 голосов
/ 02 июля 2010

Мне нравится общая идея Capybara, но я почему-то не могу запустить ее с приложением Java.

Возможно ли это вообще?

Спасибо

Ответы [ 3 ]

6 голосов
/ 31 августа 2010

Да, это возможно, и мы делаем это.Просто используйте gem selenium-webdriver с firefox или Chromium для удаленного тестирования работающего приложения.

Вы не можете протестировать его из среды тестирования Java, поскольку у вас нет инфраструктуры Rack, но вы можете создатьотделите ruby ​​testsuite и запустите rake, когда ваше java-приложение запущено на компьютере разработчика (или даже автоматически запустите приложение из 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
0 голосов
/ 29 апреля 2013

Просто наткнулся на это и обнаружил, что cuke4duke больше не выпускается. Тем не менее, лучшая новость заключается в том, что существует официальная реализация Cucumber для JVM, например cucumber-jvm .

PS. Сначала я подумал, что это будет JCucumber: P

0 голосов
/ 12 июля 2010

Насколько я знаю, Капибара связана с Руби.Однако, если вы заинтересованы в использовании Cucumber с Java, посмотрите cuke4duke: http://wiki.github.com/aslakhellesoy/cuke4duke/

Вы можете использовать различные языки для написания определений шагов и управлять браузером с помощью WebDriver.

...