2016-09-07 3 views
1

Я новичок в транспортир. Я создал свои тестовые примеры для среды разработки, и он отлично работает. Теперь я должен переместить свои тестовые примеры для производства и QA.Организация тестовых примеров для 3 окружения

Поскольку код в 3-х условиях одинаковый, я не хочу создавать повторяющийся код для всех трех окружений.

Короче Если я запускаю мой код для развития я должен делать

protractor conf.js -dev 

для производства

protractor conf.js -production. 

-dev и -Производства являются соответствующими URL. Может ли кто-нибудь сказать мне, как я могу это достичь? или я должен создать 3 файла conf.js для трех сред?

ответ

1

Передайте его в качестве опции командной строки.

protractor --baseUrl='http://www.productionUrl.com' conf.js

Использование аргументов командной строки также переопределить любую установку, у вас есть в вашем конфигурационном файле. Поэтому, если ваш конфигурационный файл имеет параметр baseUrl='http://www.test.com', он примет Url, который вы передали в командной строке вместо файла конфигурации.

Это личное предпочтение, хотя у меня есть несколько файлов конфигурации (разные браузеры, среды и т. Д.). Я использую ту же конфигурацию 95% времени, но каждый раз в какое-то время приятно иметь остальных только для быстрого доступа к определенному браузеру/окружению/независимому. Плюс мне не нужно набирать столько :)

+0

Hi Гандерсон, я не хочу пользователям вводить весь URL, что это проблема :( – Jatin

+0

Затем просто создать отдельные файлы конфигурации , 'protractor prod.conf.js',' protractor test.conf.js' и т. д. – Gunderson

2

Лучший способ - просто отправить тип среды (QA, DEV, PROD) во время запуска транспортира из командной строки и перед запуском вам нужно добавить раздел params на conf .js файл, как показано ниже:

1-на conf.js:

params: { 
     environment:null 
    } 

2-передача значение окружающей среды из командной строки

protractor --params.environment='QA' conf.js 

на основе значения окружения, вы можете присвоить URL для параметра BaseUrl внутри:

onPrepare:function(){ 
    if(browser.params.environement=QA){ 
     browser.baseUrl="QA URL" 
    } 
    else{ 
     browser.baseUrl="PROD URL" 
    } 
}; 
+0

Как добиться того же, используя команду Angle2 CLI 'ng e2e' ?? Это передает параметры в 'ng e2e'. –

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