Я бег транспортира как этотБруса установить BaseUrl постоянных в транспортире
protractor --params.env=q
д означает QA. Это транспортир конф
var CommonPageObject = require('./e2e/commonPageObject');
suites: {
login: './e2e/account/login/*.js'
},
//for console params. example console command: protractor --params.env=q
params: {
env: 'qa',//can be local, prod or qa default is qa for environment
},
onPrepare: function() {
var commonPageObject = new CommonPageObject();
commonPageObject.prepareVariables();
}
это общепринятая страница
this.prepareVariables = function() {console.log("xx",browser.params.env);
var env = browser.params.env;
this.setEnvironment(env);
this.setBaseUrl(env);
};
//can be local, prod or qa. local = 2, qa = 0, prod=1
this.setEnvironment = function (env) {
if(env.includes("l")){
environment = 2;
}
else{
if(env.includes("p")){
environment = 1;
}
else{// qa
environment = 0;
}
}console.log("environment",environment);
};
//to get enviroment qa=0, prod=1, local=2 default=qa
this.getEnvironment = function() {
return environment;
};
this.setBaseUrl = function (env) {
if(env.includes("q")){
baseUrl = "http://xxxx.qa.xxx.com:8080";
}
else{
if(env.includes("p")){
baseUrl = "https://xxxxx.com";
}
else{
baseUrl = "localhost:8080";
}
}console.log("baseUrl",baseUrl);
};
this.getBaseUrl = function() {console.log("getBaseUrl",baseUrl);
return baseUrl;
};
Выход thhat protractor --params.env=q
когда я бегу
xx q
environment 0
baseUrl http://xxx.qa.xxxx.com:8080
Started
getBaseUrl undefined
FgetBaseUrl undefined
F
становится неопределенным, когда начинает испытания. В чём это? Почему переменная страницы объекта commonpage не может храниться в стеке? Я бы назвал эти методы для каждого теста перед каждым? Или я делаю что-то неправильно?