我正在尝试与水豚和硒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)的黄瓜失败了
答案 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-这样可以正确设置内容。