restartBrowserBetweenTests не перезапускает браузер, а только закрывает его

Я пытаюсь запустить несколько тестов в файле функций (несколько сценариев). Между каждым сценарием мне нужно перезапустить браузер (или, по крайней мере, использовать новое окно). Я пытаюсь установить 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
};

Это мой файл пакета:

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

Я не могу публиковать шаги или файл функций по соображениям конфиденциальности, однако там нет ничего, что могло бы помешать открытию нового браузера.


person Dale_Plante    schedule 26.06.2015    source источник


Ответы (1)


Из вашего вопроса я вижу, что нового окна браузера или вкладки браузера также должно быть достаточно. Я не рекомендую вам закрывать браузер, так как у пользователя могут быть открыты некоторые вкладки, которые при закрытии браузера могут привести к потере данных. Например, если у пользователя открыта вкладка браузера, где он пишет сообщение на форуме и уже написал 2000 символов, то при закрытии браузера он потеряет все введенные там данные. Я предлагаю гораздо менее разочаровывающее решение, используя функцию javascript window.open, которая, в зависимости в браузере откроет либо новую вкладку, либо новое окно браузера. Кроме того, вы можете перезагрузить страницу с помощью

window.location.href = window.location.href;
person Lajos Arpad    schedule 26.06.2015
comment
Я делаю это из транспортира, поэтому у меня нет дескриптора окна для вызова window.open:/ - person Dale_Plante; 26.06.2015