我正在为网络应用实施Protractor测试。我已经做了一些谷歌搜索,但我已经提出了zip,我希望我创建的每个规范关闭浏览器后,它在该特定的spec文件中运行所有测试,然后继续到下一个-spec文件,我使用"之前的所有"等等。并且"在所有"之后但Jasmine并不认识这些方法。正确方向上的一点很棒!
描述('我将在稍后提出更有意义的内容:)',function(){
//not sure if this method actually exist in Jasmine
afterAll(function () {
//restart browser or something of the nature
});
it('should do stuff', function () {
});
it('do stuff', function () {
});
});
然后浏览器应关闭,然后再打开以运行下一个规范。
答案 0 :(得分:8)
谈到在测试之间重新启动浏览器,有一个相关的配置选项:
// If true, protractor will restart the browser between each test.
// CAUTION: This will cause your tests to slow down drastically.
restartBrowserBetweenTests: false,
将其设为true
。
仅供参考,这是最初的功能要求:
beforeAll
和afterAll
内置于jasmine-2.x
。要使它们有效,您需要在jasmine2
as a testing framework:
exports.config = {
...
framework: 'jasmine2',
...
}
对于jasmine-1.x
,有一个第三方jasmine-beforeAll
包提供了相同的功能。
答案 1 :(得分:4)
在protractor.conf.js中:
capabilities:{
'shardTestFiles': true,
'maxInstances': 1
}
这将使用每个.spec文件打开和关闭浏览器,但您可能会丢失标准插件的某些报告功能。如果shardTestFiles为false,它将打开浏览器,运行onPrepare,串行运行所有测试,然后关闭浏览器。