2015-10-21 2 views
4

Noob Node Предупреждение: как вы программно устанавливаете, какой конфигурационный объект использовать при запуске теста?Nightwatch.js установил тестовую среду через конфигурационный файл

Были довольно трудно найти окончательный ответ.

Установка:

/e2e-tests 
    |-globals.js 
    |-product.page.notify.stock.js 
|-nightwatch.json 
|-nightwatch 

var SITE_URL = 'http://dev.local/', //this needs to be set somehow production||dev 
 
    AJAX_URL = 'ajaxproc/getrandomoutofstock', //relative so this doesn't need to change 
 
    select = '#mysize', 
 
    emailError = '.error-message', 
 
    outOfStockItem = { 
 
    id: false, 
 
    url: false 
 
    }; 
 

 
module.exports = { 
 
    'Get backorder stock url': function(browser) { 
 
    browser.url(SITEURL + AJAX_URL) 
 
     // ommitted for brevity 
 
    }, 
 
    'Check notify stock on product page': function(client) { 
 

 
    client.url(SITE_URL + outOfStockItem.url); 
 
    // ommitted for brevity 
 
    }, 
 

 
    // remaining test stuff - not needed 
 
};

У меня есть seen this method here by MateuszJeziorski, но не включает средства, чтобы аргументы процесса. examples, снабженный ночным небом, тоже не отвечает на этот вопрос. Я думаю, что конечный результат команды будет выглядеть примерно так:

nightwatch -somekindofparametertosetenvironment -t e2e-tests/product.page.notify.stock

ответ

4

Это звучит, как вы можете быть в состоянии получить то, что вам нужно с несколькими средами в файле nightwatch.json.

Вы можете настроить свои тестовые среды с чем-то вроде этого в nightwatch.json:

"test_settings" : { 
     "default" : { 
      "launch_url" : "some_url", 
      "selenium_port" : 4444, 
      "selenium_host" : "localhost", 
      "silent": true, 
      "screenshots" : { 
      "globals" : { 
       "site_url" : "some_site" 
      },  
      "desiredCapabilities": { 
       "browserName": "chrome", 
       "javascriptEnabled": true, 
       "acceptSslCerts": true 
      } 
     }, 
     "other_environment" : { 
      "globals" : { 
       "site_url" : "some_other_site" 
      } 
     }, 
     "one_more_environment" : { 
      "globals" : { 
       "site_url" : "one_other_site", 
       "other_var" : "this env needs a different variable" 
      } 
     } 
    } 

Nightwatch позволит вам пройти в среде с --env. Каждая среда может иметь уникальные глобальные переменные.

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

Запуск определенной среды с помощью команды, такой как nightwatch --env "other_environment". Окружающая среда начнет работу с глобалами, перечисленными в nightwatch.json.

Смежные вопросы