ruby + jenkins как?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
02.11.2011
Как привязать ruby тесты к jenkins ci?
С какими параметрами создавать job?
Кто какие средства CI использует для автоматизации тестов на ruby?
02.11.2011
#1
jenkins ruby
Запускать можно как угодно. Всеми доступными средстами jenkins
- linux shell
- windows cmd
- ant
- maven
Сначала запустите тесты из cmd. Потому напишите батник или .sh скрипт. Прирутите его к Jenkins.
Потом повозитесь с настройками систем сборок как ruby make, ant.
Главное на выходе получить resuts.xml в формате junit. Чтобы на jenkins результаты отображались.
02.11.2011
#2
CI - поключение запуска тестов - очень простая процедура
да, d3unka прав, если вы просто можете запустить тесты с коммандной строки или в терминале, то поключение запуска тестов - очень простая процедура.
касательно того, что передавать, обычно это касается окружения, сервер, порт, user, файл конфигурации, base url, и т.д.
02.11.2011
#3
вот еще полезная ссылочка
вот еще полезная ссылочка http://www.build-doctor.com/2009/04/08/every-continuous-integration-server-that-supports-ruby-git/
03.11.2011
#4
Спасибо. Но всё равно не
Спасибо. Но всё равно не получается например у меня тесты лежат в /test/ я в терминале запускаю ruby /test/1.rb всё работает создаю .sh с тем же парамтром тоже работает прописываю что написанно в скрипте в jenkins в job в панели сборка выбираю " выполнит команду shell" и вбиваю команду "ruby /test/1.rb" запускаю соборку она сразу падает и не запускает ничего... Что я не так делаю?
Пробовал под виндовс тоже самое только выбирал не shell а выполнить команду windows.
03.11.2011
#5
jenkins запуск
Посмотрите логи job-ы, которые дает Jenkins и добавьте сюда. Скорее проблема в путях. Локально они одни, а через jenkins другие
07.11.2011
#6
Started by user
Started by user anonymous
[workspace] $ cmd /c call C:\WINDOWS\TEMP\hudson4149779259610428365.bat
C:\Program Files\Jenkins\jobs\1\workspace>ruby C:\test\1vv.rb
C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': iconv will be deprecated in the future, use String#encode instead.
C:/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.9-x86-mingw32/lib/ffi/platform.rb:27: Use RbConfig instead of obsolete and deprecated Config.
[remote server] file:///C:/WINDOWS/Temp/webdriver-profile20111107-1508-1wv64u7/extension... -> file:///C:/WINDOWS/Temp/webdriver-profile20111107-1508-1wv64u7/extension... `unknown': Unable to locate element: {"method":"class name","selector":"auth"} (Selenium::WebDriver::Error::NoSuchElementError)
from [remote server] file:///C:/WINDOWS/Temp/webdriver-profile20111107-1508-1wv64u7/extension... -> file:///C:/WINDOWS/Temp/webdriver-profile20111107-1508-1wv64u7/extension... `unknown'
from [remote server] file:///C:/WINDOWS/Temp/webdriver-profile20111107-1508-1wv64u7/extension... `unknown'
from [remote server] file:///C:/WINDOWS/Temp/webdriver-profile20111107-1508-1wv64u7/extension... `unknown'
from [remote server] file:///C:/WINDOWS/Temp/webdriver-profile20111107-1508-1wv64u7/extension... `unknown'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.10.0/lib/selenium/webdriver/remote/response.rb:50:in `assert_ok'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.10.0/lib/selenium/webdriver/remote/response.rb:15:in `initialize'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.10.0/lib/selenium/webdriver/remote/http/common.rb:54:in `new'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.10.0/lib/selenium/webdriver/remote/http/common.rb:54:in `create_response'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.10.0/lib/selenium/webdriver/remote/http/default.rb:64:in `request'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.10.0/lib/selenium/webdriver/remote/http/common.rb:35:in `call'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.10.0/lib/selenium/webdriver/remote/bridge.rb:426:in `raw_execute'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.10.0/lib/selenium/webdriver/remote/bridge.rb:404:in `execute'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.10.0/lib/selenium/webdriver/remote/bridge.rb:372:in `find_element_by'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.10.0/lib/selenium/webdriver/common/search_context.rb:41:in `find_element'
from C:/test/1vv.rb:7:in `<main>'
C:\Program Files\Jenkins\jobs\1\workspace>exit 1
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE
теперь стал думать по 2 минуты прежде чем упасть...
07.11.2011
#7
Вот вам и ответ в логах.
Вот вам и ответ в логах. ВебДрайвер не может найти елемент на странице.
unknown': Unable to locate element: {"method":"class name","selector":"auth"} (Selenium::WebDriver::Error::NoSuchElementError)
Ошибку ищите вот здесь
search_context.rb:41:in `find_element'
41 строка класса search_context
08.11.2011
#8
Спасибо всё заработало там
Спасибо всё заработало там просто в конце были пустые строчки в тесте их удалил и заработал... А в линуксе под root пользователем, в логах пишет нет прав на открытие директории где лежат тесты с ubuntu запускал. Думаю другой дистрибутив поставить просто...
08.11.2011
#9
jenkins user
Не совсем понял проблему. Не видно результатов выполнения на самом Jenkins?
09.11.2011
#10
Вот что под линуксом выдаёт
Вот что под линуксом выдаёт Jenkins в логах.
Started by user anonymous
[workspace] $ /bin/sh /tmp/hudson6998138199984298712.sh
ruby: Permission denied -- /test/1vv.rb (LoadError)
Build step 'Выполнить команду shell' marked build as failure
Finished: FAILURE
09.11.2011
#11
проблема в правах
Проблема в правах юзера anonymous
Нужно запустить tomcat(сервер на котором запущен jenkins) от юзера с правами на редактирование в папках, в которых происходит выполнение тестов
10.11.2011
#12
можно ли сделать так что бы
можно ли сделать так что бы jenkins запускал тесты не в фоновом режиме?
11.11.2011
#13
а зачем запускать не в фоновом режиме?
а зачем запускать не в фоновом режиме? тебе видеть что происходит?
11.11.2011
#14
Почему то в фоновом режиме не
Почему то в фоновом режиме не всё отрабатывает. Просто запускаю тест всё нормально всё отрабатывает а в jenkins падает на форме с сообщением... Не могу понять почему...
11.11.2011
#15
запись видео и снятие скриншов и сохранение HTML сорсов
лучше подключить запись видео, снятие скриншотов и HTML сорсов страницы, когда она фейлиться.
это конечно затратно по ресурсам, потому можно подключить опцию только для некоторых тестов которые сбоят
ссылки по теме
http://www.theautomatedtester.co.uk/blog/2010/castro-selenium-video.html
http://coreygoldberg.blogspot.com/2011/06/python-selenium-webdriver-capture.html
http://stackoverflow.com/questions/3422262/take-a-screenshot-with-selenium-webdriver
http://stackoverflow.com/questions/7263824/get-source-of-webelement-in-selenium-webdriver-python
11.11.2011
#16
Да, можно
Можно, если запустить jenkins не как сервис, а как приложение на tomcat.







