使用黄瓜-水豚-硒运行测试时,无法创建魅力报告

时间:2019-01-23 06:47:26

标签: ruby selenium cucumber capybara allure

我正在尝试与水豚和硒webdriver一起运行黄瓜测试用例。即使在运行所有测试用例的情况下,运行时我也会遇到以下错误。结果,黄瓜詹金斯工作失败了。当我尝试打开魅力报告时,它是空白的。

有人可以帮助我吗?

日志跟踪:

  

3个场景(0个失败,通过3个)12个步骤(0个失败,通过12个)   1分8.278秒

     

错误的参数数量(给定1,预期为0)(ArgumentError)   /用户/用户/.rvm/gems/ruby-2.6.0/gems/capybara-3.12.0/lib/capybara/node/document.rb:31:in   标题'   /用户/用户/.rvm/gems/ruby-2.6.0/gems/capybara-3.12.0/lib/capybara/session.rb:738:in   课堂:“课程”(2级)   /用户/用户/.rvm/gems/ruby-2.6.0/gems/capybara-3.12.0/lib/capybara/dsl.rb:51:in   在“(   /用户/用户/.rvm/gems/ruby-2.6.0/gems/allure-ruby-adaptor-api-0.7.2/lib/allure-ruby-adaptor-api/builder.rb:128:in   阻止(3级)构建!”   /用户/用户/.rvm/gems/ruby-2.6.0/gems/nokogiri-1.10.1/lib/nokogiri/xml/builder.rb:391:in   插入'   /用户/用户/.rvm/gems/ruby-2.6.0/gems/nokogiri-1.10.1/lib/nokogiri/xml/builder.rb:375:in   method_missing'   / Users /用户/.rvm/gems/ruby-2.6.0/gems/allure-ruby-adaptor-api-0.7.2/lib/allure-ruby-adaptor-api/builder.rb:126:in   阻止(2级)构建!”   /用户/用户/.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   阻止构建!”   /用户/用户/.rvm/gems/ruby-2.6.0/gems/allure-ruby-adaptor-api-0.7.2/lib/allure-ruby-adaptor-api/builder.rb:124:in   每'   /用户/用户/.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:在after_features中   /用户/用户/.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   后'   /用户/用户/.rvm/gems/ruby-2.6.0/gems/cucumber-3.1.2/lib/cucumber/formatter/legacy_api/adapter.rb:41:in   阻止初始化”   /用户/用户/.rvm/gems/ruby-2.6.0/gems/cucumber-core-3.2.1/lib/cucumber/core/event_bus.rb:34:in   阻止广播”   /用户/用户/.rvm/gems/ruby-2.6.0/gems/cucumber-core-3.2.1/lib/cucumber/core/event_bus.rb:34:in   每'   /用户/用户/.rvm/gems/ruby-2.6.0/gems/cucumber-core-3.2.1/lib/cucumber/core/event_bus.rb:34:in   广播'   /用户/用户/.rvm/gems/ruby-2.6.0/gems/cucumber-core-3.2.1/lib/cucumber/core/event_bus.rb:40:in   method_missing'   /用户/用户/.rvm/gems/ruby-2.6.0/gems/cucumber-3.1.2/lib/cucumber/configuration.rb:33:in   通知'   /用户/用户/.rvm/gems/ruby-2.6.0/gems/cucumber-3.1.2/lib/cucumber/runtime.rb:76:in   跑!'   /用户/用户/.rvm/gems/ruby-2.6.0/gems/cucumber-3.1.2/lib/cucumber/cli/main.rb:34:in   执行!'   /用户/用户/.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   加载” /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   评估'/Users/user/.rvm/gems/ruby-2.6.0/bin/ruby_executable_hooks:24:in   '用了70秒(1:10)的黄瓜失败了

1 个答案:

答案 0 :(得分:0)

这里的问题是,您要在全局范围内包含Capybara :: DSL。任何相对较新的Capybara版本都会向控制台显示警告,例如“不建议在全局范围内包含Capybara :: DSL!”。特别是因为它会产生各种奇怪的副作用。这是因为当您这样做时

include Capybara::DSL

最终导致所有类或模块失败,包括项目中每个对象上的所有Capybaras方法。那不是你想要的。在不查看项目的情况下不可能确切地说出需要放置的内容,但是假设您有一个正常的项目,则可能要放置

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

在您的env.rb中,或仅按照说明要求使用“水豚/黄瓜”-https://github.com/teamcapybara/capybara#using-capybara-with-cucumber-这样可以正确设置内容。