restartBrowserBetweenTests不会重新启动浏览器,只会关闭它

时间:2015-06-26 18:01:06

标签: cucumber protractor cucumberjs

我正在尝试在功能文件中运行多个测试(多个方案)。在每个场景之间我需要浏览器重启(或者至少使用一个新窗口)。我尝试设置<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/track_color"/> <size android:height="@dimen/track_height" /> <size android:width="@dimen/track_width" /> <!-- results in the track looking smaller than the thumb --> <stroke android:width="6dp" android:color="#00ffffff"/> </shape> ,但由于某种原因,它只会导致浏览器在第一个场景后关闭,并且永远不会打开一个新场景。我正在使用量角器 - 黄瓜。

这是我的conf文件:

restartBrowserBetweenTests: true

这是我的包裹文件:

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
};

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

1 个答案:

答案 0 :(得分:0)

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

重新加载页面
window.location.href = window.location.href;