Bra*_*olm 6 automation summary jasmine protractor
我有一个自动化框架,它使用grunt任务来运行多个spec文件.一些使用预定义的套件运行,另一些使用文件命名约定.每个spec文件具有一个"describe"块的平均值,每个块通常具有多个"it"块.
我目前正在使用jasmine-spec-reporter,它在每个 spec文件后提供有用且详细的结果,如下所示:
------------------------------------
[chrome OS X 10.10 #1-78] PID: 1880
[chrome OS X 10.10 #1-78] Specs: /**/**/jenkins/workspace/Main Suites/tests/User_Management/smoke_student_does_something.js
[chrome OS X 10.10 #1-78]
[chrome OS X 10.10 #1-78] Using SauceLabs selenium server at http://*******
[chrome OS X 10.10 #1-78] Spec started
[chrome OS X 10.10 #1-78]
[chrome OS X 10.10 #1-78] 1 A student can link and unlink to another student account
[chrome OS X 10.10 #1-78] ? can link to another student account (33 secs)
[chrome OS X 10.10 #1-78] ? can unlink a student account (14 secs)
[chrome OS X 10.10 #1-78]
[chrome OS X 10.10 #1-78] Executed 2 of 2 specs SUCCESS in 46 secs.
[chrome OS X 10.10 #1-78] SauceLabs results available at http://saucelabs.com/jobs/*****************
[launcher] 5 instance(s) of WebDriver still running
Run Code Online (Sandbox Code Playgroud)
在所有引用taskId并列出pass + failure的jasmine报告之后,Protractor给了我一个相当无用的摘要控制台输出.这就是量角器总结的样子:
....
[launcher] chrome #1-69 passed
[launcher] chrome #1-70 failed 1 test(s)
[launcher] chrome #1-73 passed
[launcher] chrome #1-71 passed
[launcher] chrome #1-75 passed
[launcher] chrome #1-72 passed
[launcher] chrome #1-79 passed
[launcher] chrome #1-74 passed
[launcher] chrome #1-80 passed
[launcher] chrome #1-81 passed
[launcher] chrome #1-82 passed
[launcher] chrome #1-84 passed
[launcher] chrome #1-83 passed
[launcher] chrome #1-85 passed
[launcher] chrome #1-88 passed
[launcher] chrome #1-87 passed
[launcher] chrome #1-86 passed
[launcher] chrome #1-76 passed
[launcher] chrome #1-89 passed
[launcher] chrome #1-90 passed
[launcher] chrome #1-91 passed
[launcher] chrome #1-92 passed
[launcher] chrome #1-78 passed
[launcher] chrome #1-93 passed
[launcher] chrome #1-95 passed
[launcher] chrome #1-77 passed
[launcher] chrome #1-96 passed
[launcher] chrome #1-94 failed 5 test(s)
[launcher] overall: 12 failed spec(s)
[launcher] Process exited with error code 1
>>
Warning: Tests failed, protractor exited with code: 1 Use --force to continue.
Run Code Online (Sandbox Code Playgroud)
我的问题是,我希望看到所有spec 文件的摘要,而不是taskIds,仅用于失败的规范,并且只有在它们全部运行完毕之后.MVP将只是列表中失败的spec文件名或以易于阅读的格式(xml,html等)写入文件.下一次迭代我会在每个失败旁边的"描述"和"它"块描述,错误代码和saucelabs链接类似于茉莉花报告者.
我通常在一个作业中有数百个spec文件,并且必须梳理所有单个结果只是为了追踪哪个spec文件失败是非常烦人的(因为我觉得自动生成的摘要应该具有该信息).我真的不得不在控制台输出上为"失败"做一个ctrl + f,只是看看哪些规格失败了.我想避免去找失败清单上的酱油,因为我们的工作运作是如何通过詹金斯组织的.一旦作业完成运行,控制台输出应该是一个简单的第一个源/参考,用于失败列表.
每个第三方记者的范围似乎只能达到spec文件级别.执行每个spec文件后,它会报告,然后继续执行下一个覆盖上一个报告的文件.我打开HTML或XML报告,它总是只有一个spec文件的结果.我似乎无法将任何信息包含在多个spec文件的摘要中.我已经调整了"整合(全部)"设置,似乎没有人为所有规范文件构建报告.他们似乎一次只考虑一个文件.
我试过以下记者:
茉莉记者
茉莉-SPEC-记者
量角器-jasmine2-HTML的记者
茉莉JSON - 测试 - 记者
我已经能够直接操纵量角器"reportSummary"代码给我大部分我想要的东西(除了saucelabs链接),但这并不理想,因为我必须说服他们采用它.这是我的总结的样子:
********************
* FAILED SPEC(S) *
********************
/Playground/Test_Spec_2.js failed 2 test(s)
can log in once
FAILURE: Expected false to be true, 'Didn't see home page'.
FAILURE: Expected false to be true, 'Didn't see link'.
can log in twice
PASSED
can log in thrice
FAILURE: Expected false to be true, 'Didn't see home page'.
/Playground/Test_Spec_3.js failed 1 test(s)
can login
FAILURE: Expected false to be true, 'Didn't see home page'.
********************
* SUMMARY *
********************
overall: 2/4 failed spec(s)
********************
Run Code Online (Sandbox Code Playgroud)
我错过了使用那些茉莉花记者的东西吗?我的框架是不是按照我想要的方式与那些记者合作?我是否应该说服量角器人员用一些选项加强他们的总结记者?
您可以在所有测试运行后加入所有报告。只需确保您想要的所有测试都位于同一文件夹中
return browser.getCapabilities().then(function (caps) {
var sessionId = caps.get('webdriver.remote.sessionid');
var date = dateMethods.getCurrentDate();
var folder = 'test-results/reports-' + date;
jasmine.getEnv().addReporter(new yourReporter({
savePath: folder + '/report' + '-' + sessionId.substr(0, 5)
}));
});
Run Code Online (Sandbox Code Playgroud)
然后您可以加入它们并删除该文件夹(使用“fs”模块或类似的东西)或重命名它,以便每次运行时创建一个新文件夹
| 归档时间: |
|
| 查看次数: |
1871 次 |
| 最近记录: |