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

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

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

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

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

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

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

1 лайк

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

Run Selenium tests with Ruby | BrowserStack Docs → Using test frameworks

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

1 лайк

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

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

Возьмите RSpec и GitHub - sj26/rspec_junit_formatter: RSpec results that your CI can read - всё прекрасно интегрируется с Jenkins. Мало кто пользуется “коробочным” test-unit’ом.

1 лайк

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

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

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

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

1 лайк

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

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

научилась и 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

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

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

1 лайк

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