如何,可以这么说,在每个量角器-spec测试后重新启动或关闭浏览器

时间:2015-03-11 15:54:32

标签: javascript protractor

我正在为网络应用实施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 () {

});

});

然后

浏览器应关闭,然后再打开以运行下一个规范。

2 个答案:

答案 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

仅供参考,这是最初的功能要求:


beforeAllafterAll内置于jasmine-2.x。要使它们有效,您需要在jasmine2 as a testing framework

中设置protractor config
exports.config = {
    ...
    framework: 'jasmine2',
    ...
}

对于jasmine-1.x,有一个第三方jasmine-beforeAll包提供了相同的功能。

答案 1 :(得分:4)

在protractor.conf.js中:

capabilities:{
    'shardTestFiles': true,
    'maxInstances': 1
}

这将使用每个.spec文件打开和关闭浏览器,但您可能会丢失标准插件的某些报告功能。如果shardTestFiles为false,它将打开浏览器,运行onPrepare,串行运行所有测试,然后关闭浏览器。