Ruby Rspec、水豚、耙罐和x27;无法创建HTML报告

Ruby Rspec、水豚、耙罐和x27;无法创建HTML报告,ruby,rspec,rake,capybara,easyhtmlreport,Ruby,Rspec,Rake,Capybara,Easyhtmlreport,我想为我的网页做烟雾测试 测试工作正确 每次测试后,我都会有一个html报告,但前提是启动测试单(每个测试都有diff pass和login) .rspec文件中的html报告 --格式化html --out rspec_results.html 我创建了用于启动所有测试的Rake任务以及自动获取密码 Rake任务代码: namespace :smoke do users = [ {login: "login", pass: "pass", tag: "role1"

我想为我的网页做烟雾测试

测试工作正确

每次测试后,我都会有一个html报告,但前提是启动测试单(每个测试都有diff pass和login) .rspec文件中的html报告

--格式化html

--out rspec_results.html

我创建了用于启动所有测试的Rake任务以及自动获取密码

Rake任务代码:

namespace :smoke do

  users = [

    {login: "login",     pass: "pass", tag: "role1"    },
    {login: "login",     pass: "pass", tag: "role2"    },
    {login: "login",     pass: "pass", tag: "role3"    },
    {login: "login",     pass: "pass", tag: "role4"    },
    {login: "login",     pass: "pass", tag: "role5"    }, 
    {login: "login",     pass: "pass", tag: "role6"    },
    {login: "login",     pass: "pass", tag: "role7"    },
    {login: "login",     pass: "pass", tag: "role8"    } 


  ] 

  users.each do |user|

    desc "smoke test for admin"

    task "#{user[:tag].to_sym}" => :environment do
        task('spec').clear

      ENV['LOGIN']    = user[:login]
      ENV['PASSWORD'] = user[:pass]

      RSpec::Core::RakeTask.new(:spec) do |t|
        t.pattern    = './spec/smoke/**/*'
        t.rspec_opts = "-t #{user[:tag]}" 
        t.fail_on_error = false
      end 
      Rake::Task["spec"].execute 
    end
  end

  desc "smoke test for all users"
  task all: :environment do
    task('spec').clear

    Rake::Task["smoke:role1"].invoke
    Rake::Task["smoke:role2"].invoke
    Rake::Task["smoke:role3"].invoke
    Rake::Task["smoke:role4"].invoke
    Rake::Task["smoke:role5"].invoke
    Rake::Task["smoke:role6"].invoke
    Rake::Task["smoke:role7"].invoke
    Rake::Task["smoke:role8"].invoke

  end
我尝试添加这个
t.rspec\u opts='--format html--out reports/rspec\u results.html'

如果我选择一个角色

例如:

耙烟:role1
(这是role1的启动测试)

之后,继续测试另一个角色,但分别使用pass和login from role1,所有其他测试都失败。在报告中,我做了所有的测试,但只有第一步正确地通过了另一个失败

我如何为我的rake任务做报告,如果测试步骤失败,是否有人知道如何将screen(capybara)添加到此报告

问候。

您是否尝试更改:

RSpec::Core::RakeTask.new(:spec) do |t|
  t.pattern       = './spec/smoke/**/*'
  t.rspec_opts    = "-t #{user[:tag]}" 
  t.fail_on_error = false
end
致:


它将为每个用户创建一个报告:
rspec\u results\u admin.html
for
rake smoke:admin

对不起,这种方式不正确。保存为仅报告上一次测试第二次工作正常。但是如果我需要一个文件all report怎么办?@user3625978,“reports/rspec_results_35;{user[:login]}.html”为每个用户创建一个单独的报告。之后,您可以将rspec_results_admin.html、rspec_results_user.html写入一个报告文件
RSpec::Core::RakeTask.new(:spec) do |t|
  t.pattern       = './spec/smoke/**/*'
  t.rspec_opts    = "-t #{user[:tag]} --format html --out reports/rspec_results_#{user[:login]}.html" 
  t.fail_on_error = false
end