1
我跑量角器這樣廣東話設置永久性的BaseURL在量角器
protractor --params.env=q
Q表示QA。這量角器的conf
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對象頁面變量不能保存在堆棧中?那麼,我應該在每個測試前的每個測試中調用這些方法嗎?或者我做錯了什麼?