我想为我的网页做冒烟测试。
测试工作正确。
每次测试后我都有 html 报告,但只有在 .rspec 文件中开始测试单(每个测试都有差异通过和登录)html 报告
--format html
--out rspec_results.html
我创建了启动所有测试的 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_opts = '--format html --out reports/rspec_results.html'
如果我选择一个角色
例子:
rake smoke:role1
(这是角色1的开始测试)
之后,继续测试另一个角色,但使用 pass 和从角色 1 登录,分别所有另一个测试失败。在报告中我进行了所有测试,但只有第一步正确通过了另一个失败。
我如何为我的 rake 任务做报告,如果有人知道如果测试步骤失败,如何将屏幕(水豚)添加到此报告中。
问候。