我有几个量角器测试脚本。我的目标是根据脚本和结果生成一些报告。
我想在每个测试中附加一些其他信息,例如ID或参考号。有没有办法将其添加到每个it
规范中?我不需要茉莉花或量角器来处理这些信息,最多只是将它包含在测试结果输出文件中。
我想要这样的事情:
describe('Module A Test Suite', function () {
// note parameter with extra info
it('This is a test', {testId: 123, release: "v2.0.5"}, function () {
//note parameter with extra info
expect({description: "Verify link is shown", priority: 2}, element(by.id('Home')).isPresent()).toBe(true);
// more tests and expect's here
}
}
在输出xml中有一些带有额外信息的部分。
可能导致这样的事情:
<testsuites>
<testsuite name="chrome.Module A Test Suite" timestamp="2016-11-22T11:22:45" hostname="localhost" time="77.753" errors="0" tests="8" skipped="0" disabled="0" failures="3">
<extras testId="123" release="v2.0.5" />
<testcase classname="chrome.Module A Test Suite" name="This is a test" >
<extras description="Verify link is shown" priority="2"/>
</testcase>
</testsuite>
</testsuites>
如果这不能作为代码本身添加,有没有办法可以将其添加为注释或其他可以轻松解析的元素?优选使用现有工具或茉莉/量角器功能?
答案 0 :(得分:3)
关于it
电话(测试规范)的额外信息:
Jasmine使用对象result
作为测试规范的一部分,并在调用记者的result
和specStarted
时将其用作specDone
参数。
result
对象是it
函数返回的对象的属性。
关于describe
电话(测试套件)的额外信息:
Jasmine还使用属于测试套件的对象result
,并在调用记者的result
和suiteStarted
时将其作为suiteDone
参数传递。
可以通过result
所用函数内的this
访问测试套件的属性describe
。
因此,要为其分配额外数据,我们可以执行类似
的操作 describe('Module A Test Suite', function () {
// the following line attaches information to the test suite
this.result.extra_suite_data = {suiteInfo: "extra info"};
// note parameter with extra info
it('This is a test', function () {
//note parameter with extra info
expect(element(by.id('Home')).isPresent()).toBe(true);
})
.result.extra_spec_data = {testId: 123, release: "v2.0.5"};
// the line above adds `extra_data` to the `result` property
// of the object returned by `it`. Attaching the data to the
// test spec
});
为expect
语句添加额外信息稍微复杂一些,因为expect
函数返回的对象不会传递给报告者,也不会添加到testSpec.result.passedExpectations
也不会添加到testSpec.result.failedExpectations
...
<!--Uncomment the below lines in order to use capability FOOBAR--!>
<!--<FOOBAR someAttribute="someValue">
<ChildElement1/>
<ChildElement2/>
</FOOBAR>-->
...
数组。