Я пишу сценарии для транспортировщиков.
Моя проблема в том, что я не могу сохранить значение в глобальных переменных. Ни в global.somevariable, ни в browser.params.somevariable.
У меня есть 2 файла:
1. login.js
2. helper.js
Из анонимного метода, который находится внутри файла helper.js, я пытаюсь сохранить значение в глобальной переменной. Я вызываю этот связанный с helper.js метод из файла js, который является файлом PageObject.
В config.js я объявил 2 переменные - одну с глобальным ключевым словом.
Второй - с методом onPrepare (), поэтому я могу использовать browser.params.someVar. Однако ничего не работает.
Внутри этого метода значения внутри vairables в порядке. Однако, когда я обращаюсь к тем же переменным вне этого helper.js, они имеют значение null / не правильно.
config.js
exports.config =
{
params:
{
tempVar:false
},
onPrepare:function()
{
global.result=false;
}
};
loginpage.js
var loginPage = function()
{
var un = element(by.id('un'));
var helper = new help();
helper.verifyElemExists(un);
console.log(global.result);//False,though promise returned true
console.log(browser.params.tempVar); // This is also false
if(global.result===true)
{
// Code will do something...
}
}
module.exports = login;
helper.js
var helper = function()
{
verifyElemExists = function(elem)
{
elem.isPresent().then(function(res)
{
browser.params.tempVar=res;
global.result =res;
});
}
module.exports = helper;