Allure Reports не создаются при запуске тестов с огурцом - капибара - селен - PullRequest
0 голосов
/ 23 января 2019

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

Может ли кто-нибудь помочь мне в этом?

трассировка журнала:

3 сценария (0 неудачных, 3 пройденных) 12 шагов (0 неудачных, 12 пройденных) 1m8.278s

неверное количество аргументов (задано 1, ожидается 0) (ArgumentError) /Users/user/.rvm/gems/ruby-2.6.0/gems/capybara-3.12.0/lib/capybara/node/document.rb:31:in заглавие' /Users/user/.rvm/gems/ruby-2.6.0/gems/capybara-3.12.0/lib/capybara/session.rb:738:in блок (2 уровня) в классе: сессия /Users/user/.rvm/gems/ruby-2.6.0/gems/capybara-3.12.0/lib/capybara/dsl.rb:51:in блок (2 уровня) в ' /Users/user/.rvm/gems/ruby-2.6.0/gems/allure-ruby-adaptor-api-0.7.2/lib/allure-ruby-adaptor-api/builder.rb:128:in блок (3 уровня) в сборке! /Users/user/.rvm/gems/ruby-2.6.0/gems/nokogiri-1.10.1/lib/nokogiri/xml/builder.rb:391:in вставить» /Users/user/.rvm/gems/ruby-2.6.0/gems/nokogiri-1.10.1/lib/nokogiri/xml/builder.rb:375:in method_missing» /Users/user/.rvm/gems/ruby-2.6.0/gems/allure-ruby-adaptor-api-0.7.2/lib/allure-ruby-adaptor-api/builder.rb:126:in блок (2 уровня) в сборке! /Users/user/.rvm/gems/ruby-2.6.0/gems/nokogiri-1.10.1/lib/nokogiri/xml/builder.rb:293:in инициализировать» /Users/user/.rvm/gems/ruby-2.6.0/gems/allure-ruby-adaptor-api-0.7.2/lib/allure-ruby-adaptor-api/builder.rb:125:in новый» /Users/user/.rvm/gems/ruby-2.6.0/gems/allure-ruby-adaptor-api-0.7.2/lib/allure-ruby-adaptor-api/builder.rb:125:in блок в сборке! /Users/user/.rvm/gems/ruby-2.6.0/gems/allure-ruby-adaptor-api-0.7.2/lib/allure-ruby-adaptor-api/builder.rb:124:in каждый» /Users/user/.rvm/gems/ruby-2.6.0/gems/allure-ruby-adaptor-api-0.7.2/lib/allure-ruby-adaptor-api/builder.rb:124:in строить! /Users/user/.rvm/gems/ruby-2.6.0/gems/allure-cucumber-0.6.1/lib/allure-cucumber/formatter.rb:144:in after_features ' /Users/user/.rvm/gems/ruby-2.6.0/gems/cucumber-3.1.2/lib/cucumber/formatter/ignore_missing_messages.rb:11:in method_missing» /Users/user/.rvm/gems/ruby-2.6.0/gems/cucumber-3.1.2/lib/cucumber/formatter/legacy_api/adapter.rb:136:in после' /Users/user/.rvm/gems/ruby-2.6.0/gems/cucumber-3.1.2/lib/cucumber/formatter/legacy_api/adapter.rb:41:in блок в инициализации /Users/user/.rvm/gems/ruby-2.6.0/gems/cucumber-core-3.2.1/lib/cucumber/core/event_bus.rb:34:in блок в эфире /Users/user/.rvm/gems/ruby-2.6.0/gems/cucumber-core-3.2.1/lib/cucumber/core/event_bus.rb:34:in каждый» /Users/user/.rvm/gems/ruby-2.6.0/gems/cucumber-core-3.2.1/lib/cucumber/core/event_bus.rb:34:in вещания» /Users/user/.rvm/gems/ruby-2.6.0/gems/cucumber-core-3.2.1/lib/cucumber/core/event_bus.rb:40:in method_missing» /Users/user/.rvm/gems/ruby-2.6.0/gems/cucumber-3.1.2/lib/cucumber/configuration.rb:33:in поставить в известность' /Users/user/.rvm/gems/ruby-2.6.0/gems/cucumber-3.1.2/lib/cucumber/runtime.rb:76:in бежать!' /Users/user/.rvm/gems/ruby-2.6.0/gems/cucumber-3.1.2/lib/cucumber/cli/main.rb:34:in выполнить! /Users/user/.rvm/gems/ruby-2.6.0/gems/cucumber-3.1.2/bin/cucumber:9:in '/Users/user/.rvm/gems/ruby-2.6.0/bin/cucumber:23:in load '/Users/user/.rvm/gems/ruby-2.6.0/bin/cucumber:23:in

'/Users/user/.rvm/gems/ruby-2.6.0/bin/ruby_executable_hooks:24:in eval '/Users/user/.rvm/gems/ruby-2.6.0/bin/ruby_executable_hooks:24:in Заняло 70 секунд (1:10) огурцов не удалось

1 Ответ

0 голосов
/ 29 января 2019

Проблема здесь в том, что вы включаете Capybara :: DSL в глобальную область.Любая относительно современная версия Capybara выведет предупреждение на консоль, например, «включение Capybara :: DSL в глобальную область не рекомендуется!»особенно потому, что у него будут всевозможные странные побочные эффекты.Это потому, что когда вы просто делаете

include Capybara::DSL

вне каких-либо классов или модулей, вы в конечном итоге включаете все методы Capybaras для каждого объекта в вашем проекте.Это не то, что вы хотите.Невозможно точно сказать, что вам нужно поместить куда, не глядя на ваш проект, но, предполагая, что у вас есть нормальный проект, вы, вероятно, захотите поместить

World(Capybara::DSL)
World(Capybara::RSpecMatchers)

в свой env.rb или просто потребовать 'capybara /cucumber 'like как указано - https://github.com/teamcapybara/capybara#using-capybara-with-cucumber - что позволит правильно настроить все.

...