Добрый день. В проекте есть тесты юая написанные на ruby. пробую встроить эти тесты в ci процесс (сервер TeamCity). Сначала попробовал все руками сделать. www.rbКод | require 'rubygems' require 'selenium-webdriver' require 'test/unit' # coding: utf-8 class TC_MyTest < Test::Unit::TestCase
attr_accessor :driver attr_accessor :cap
def setup puts 'setup' @cap = Selenium::WebDriver::Remote::Capabilities.htmlunit(:javascript_enabled => true) @driver = Selenium::WebDriver.for(:remote, :desired_capabilities => @cap) end
def teardown puts 'teardown' @driver.quit end
def testGoogleRemoteServerHtmlUnit @driver.navigate.to "http://google.com" assert_not_nil(@driver.title, "Title is null") puts '' + @driver.title end end
|
rakefileКод | require 'rake/testtask'
# Run All Tests Task # Rake::TestTask.new('test') do |t| t.libs = ["lib"] t.pattern = '/home/selenium/tests/*.rb' end
task "default" => ["test"]
|
Это запускаю, и получаю результат: Код | [root@ip-10-74-181-48 tests]# rake Loaded suite /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/rake_test_loader Started setup Google teardown .
Finished in 0.470909457 seconds. ------ 1 tests, 1 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed ------ 2.12 tests/s, 2.12 assertions/s
|
Все хорошо. Теперь сделал конфиг в ТимСити, указал рекфайл. При запуске получаю вот что : Код | [07:59:55]: Invoke test [07:59:55]: [Invoke test] Execute test [07:59:55]: [Execute test] RuntimeError: Command failed with status (1): [ruby -I"lib" -I"/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib" "/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb" "/home/selenium/tests/*.rb" ]
Stacktrace: /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/testtask.rb:108:in `block (3 levels) in define' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/file_utils.rb:57:in `call' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/file_utils.rb:57:in `sh' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:37:in `sh' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/file_utils.rb:96:in `ruby' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:37:in `ruby' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/testtask.rb:104:in `block (2 levels) in define' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:58:in `verbose' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/testtask.rb:100:in `block in define' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `call' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `each' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute' /files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:260:in `block in execute' /files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:90:in `target_exception_handling' /files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:266:in `execute' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain' /usr/share/ruby/2.0/monitor.rb:211:in `mon_synchronize' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke' /files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:235:in `block in my_invoke_with_call_chain' /files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:90:in `target_exception_handling' /files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:234:in `my_invoke_with_call_chain' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block (2 levels) in top_level' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `each' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:78:in `block in run' /files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:311:in `standard_exception_handling' /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/application.rb:75:in `run' /files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rake_ext.rb:179:in `run' /files/buildagent/BuildAgent/plugins/rake-runner/lib/rb/runner/rakerunner.rb:40:in `<main>' [07:59:55]: Rake aborted!
|
Пробую запустить комманду из эксепшена: Код | [root@ip-10-74-181-48 tests]# ruby -I"lib" -I"/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib" "/usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb" "/home/selenium/tests/*.rb" Loaded suite /usr/local/share/ruby/gems/2.0/gems/rake-10.4.2/lib/rake/rake_test_loader Started setup Google teardown .
Finished in 0.437092354 seconds. ------ 1 tests, 1 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications 100% passed ------ 2.29 tests/s, 2.29 assertions/s
|
Тоже все работает. Вопрос: на что рушается ТимСити. И как побороть эту проблему ? Спасибо!
|