1

我正在尝试在功能文件中运行多个测试(多个场景)。在每种情况之间,我需要重新启动浏览器(或至少使用一个新窗口)。我尝试设置restartBrowserBetweenTests: true,但由于某种原因,它只会导致浏览器在第一个场景之后关闭,并且永远不会打开新的。我正在使用量角器黄瓜。

这是我的 conf 文件:

exports.config = {

  specs: [
    'wordAssessTimer.feature'
  ],

  // Capabilities to be passed to the webdriver instance.
  capabilities: {
    'browserName': 'firefox'
  },

  // Framework to use. 
  framework: 'cucumber',

  allScriptsTimeout: 300000,

  // Options to be passed to cucumber
  cucumberOpts: {
        require: ['steps.js', 'reporter.js'],
        format: 'pretty',
        strict: true
      },

  restartBrowserBetweenTests: true
};

这是我的包文件:

{
  "name": "wordAssessTimer",
  "version": "",
  "description": "",
  "main": "conf.js",
  "dependencies": {
  },
  "devDependencies": {
    "cucumber": "0.4.9",
    "protractor": "2.1.0"
  },
  "scripts": {
  },
  "author": "",
  "license": ""
}

出于保密原因,我无法发布步骤或功能文件,但是没有任何内容可以阻止打开新浏览器。

4

1 回答 1

0

从您的问题中,我看到一个新的浏览器窗口或浏览器选项卡也应该足够了。我不鼓励您关闭浏览器,因为用户可能打开了一些选项卡,在浏览器关闭时会丢失数据。例如,如果用户打开了一个浏览器选项卡,他在其中写了一篇论坛帖子并且已经写了 2000 个字符,那么当浏览器关闭时,他将丢失在那里输入的所有数据。我建议一个不那么令人沮丧的解决方案,使用window.open javascript 函数,根据浏览器的不同,它会打开一个新选项卡或一个新的浏览器窗口。此外,您可以使用重新加载页面

window.location.href = window.location.href;
于 2015-06-26T18:08:49.600 回答