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


我正在为Web应用程序实施Protractor测试。我已经做了一些谷歌搜索,但我已经提出了zip,我希望我创建的每个规范关闭浏览器后,它在该特定的spec文件中运行所有测试,然后继续到下一个-spec文件,我使用“beforeAll”和“afterAll”之类的东西,但Jasmine不承认这些方法。正确方向上的一点会很棒!

describe('我将在后面写一些更有意义的东西:)',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 () {

});

});

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


8981
2018-03-11 15:54


起源

你能提供一些你已经尝试过的代码和遇到问题的代码吗? - SaschaM78
我不能去工作哈哈。我将添加一个脱脂示例。 - Joseph Freeman


答案:


谈到在测试之间重新启动浏览器,有一个相关的配置选项:

// 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 作为测试框架 在里面 量角器配置

exports.config = {
    ...
    framework: 'jasmine2',
    ...
}

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


7
2018-03-11 16:00



好的很酷,我会给那个镜头:) - Joseph Freeman
这很棒!您是否偶然知道在每个spec文件运行之前和之后是否可以打开和关闭浏览器? - Joseph Freeman
@JosephFreeman太棒了!请参阅更新,希望这是您正在寻找的。 - alecxe
谢谢!这确实有效,但它重新启动浏览器之间的每个'它'块lol :)这不完全是我正在寻找的功能。你知道所有可能的量角器配置选项列表的链接吗? - Joseph Freeman
@JosephFreeman看 referenceConf.js,但我不确定它是否有特定的设置.. - alecxe


在protractor.conf.js中:

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

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


3
2017-08-31 18:12