Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Создание отчётов или форматирование вывода консоли в Jenkins. Тесты на Ruby

jenkins
ruby
allure
Теги: #<Tag:0x00007f7b627208c8> #<Tag:0x00007f7b62720788> #<Tag:0x00007f7b62720620>

(Галина Балашкова) #1

А как вы создаёте отчёты? Именно для чистых Ruby тестов c помощью Selenium. Никакого Rspec or Cucumber и Capybara там нет (надеюсь пока что)

Или даже не отчёт, а чтобы в Jenkins как-то выделялось, красным или зелёным цветом?

Почитала и про Allure и про testrail - везде не очень понимаю как это подкрутить, когда нет ни Rspec ни Cucumber.

Вообще интересно как это организуется на Ruby. на Java, знаю более менее. И как кстати шаги описываются в Ruby тестах?

Извиняюсь за сумбурность


(Stan) #2

То есть вообще без тест раннеров?
Суть любых тест репортов в том что они генерируют информацию на основе каких либо отчетов по прохождению теста. Если вы не используете раннеры, то как вы узнаете стейты прохождения, какие тесты упали, а какие нет?


(Галина Балашкова) #3

а какие тест раннеры для руби? глупый вопрос наверное, сорри


(Stan) #4

https://www.browserstack.com/automate/ruby -> Using test frameworks

PS случайно дал ссылку на свой форк от списка awesome-test-automation :slight_smile: Поменял на оригинал


(Галина Балашкова) #5

да, почитала - разобралась, попробовала. поняла что надо использовать gem test-unit. Код особо менять не надо, только лучше и красивее становиться, давно собиралась сделать, а пользы немеренно.

Вот как-то так чисто в консоли уже получается. =)


(Igor) #6

Возьмите RSpec и https://github.com/sj26/rspec_junit_formatter - всё прекрасно интегрируется с Jenkins. Мало кто пользуется “коробочным” test-unit’ом.


(Галина Балашкова) #7

вот уже тыщу раз объясняли, как пользоваться Rspec-ом, никак не могу переключиться и до конца вкурить его. Но да, на него надо переходить, так как вся компания им ползуется, сделала пока на test-unit, но думала таки потренироваться и сделать с Rspec, тем более что ещё Allure с ним дружит.


(Галина Балашкова) #8

эмм, наверное у меня глупый вопрос, но не до конца понимаю как настроить rspec_junit_formatter

вот например у меня уже есть один файл с тестом, как правильно настроить чтобы он в xml превращал результаты?


(Igor) #9

При запуске rspec укажите его: rspec --format RspecJunitFormatter --out rspec.xml. Или в .rspec конфиг-файл пропишите.


(Галина Балашкова) #10

я тупила, и просто запускала команду как она есть, а надо же с файлом, который запускаешь. например

rspec rspectest.rb --format RspecJunitFormatter --out rspec.xml. - как-то так, спасибо.


(Галина Балашкова) #11

научилась и Rspec и RspecJunitFormatter

у меня вопрос по allure, когда конфиг такой^

RSpec.configure do |c|
   c.include AllureRSpec::Adaptor
end
AllureRSpec.configure do |c|
   c.output_dir = "allure-results" # default: gen/allure-results
   c.clean_dir =  false # clean the output directory first? (default: true)
end

то папка не очищается и соответственно там все тесты в отчёте и они накапливаются, неудобно. Хочется чтобы были именно те тесты, которые в задаче.

а когда конфиг такой:

RSpec.configure do |c|
   c.include AllureRSpec::Adaptor
end
AllureRSpec.configure do |c|
   c.output_dir = "allure-results" # default: gen/allure-results
   c.clean_dir =  true # clean the output directory first? (default: true)
end

то почему то в отчёте только последний тест :frowning: хотя по идее должны быть все. О, пока писала появилась мысль,

может это потому что я костыльно как-то запускаю всё? есть файл rspec.sh и там вот такое и соответственно allure берёт последнее? Прописать " --format RspecJunitFormatter --out rspec.xml" в spec_helper.rb ?

rspec rspectest.rb --format RspecJunitFormatter --out rspec.xml
rspec obyazeplrspec.rb --format RspecJunitFormatter --out rspec.xml
rspec obyaznalrspec.rb --format RspecJunitFormatter --out rspec.xml
rspec obyazelerspec.rb --format RspecJunitFormatter --out rspec.xml
rspec obyazelerspec.rb --format RspecJunitFormatter --out rspec.xml
rspec obyazelerspec.rb --format RspecJunitFormatter --out rspec.xml
rspec otmenakorspec.rb --format RspecJunitFormatter --out rspec.xml
rspec priem_deneg_ot_igroka.rb --format RspecJunitFormatter --out rspec.xml
rspec priem_elektr_sredstv.rb --format RspecJunitFormatter --out rspec.xml
rspec priem_po_bank_kart.rb --format RspecJunitFormatter --out rspec.xml
rspec sda4a_viru4ki_v_bank.rb --format RspecJunitFormatter --out rspec.xml
rspec viplata.rb --format RspecJunitFormatter --out rspec.xml
rspec vnesenie_deneg_v_kassu.rb --format RspecJunitFormatter --out rspec.xml

И создавать ли новую тему?


(Stan) #12

Потому что AllureRSpec.configure у вас вызывается на каждом вызове rspec, следовательно каждый раз папка очищается. А почему вы не запускаете все сразу, а отдельными вызовами рспека?


(Галина Балашкова) #13

да, мне уже ответили в этой теме allure-rspec вывод отчётов с удалением результатов в директории или без? как правильно )