Это скорее проблема JavaScript, но это то, что пытается быть реализовано для использования теста Protractor.Функция транспортира не возвращается?
//fileA.js
element(by.id('page-element').getText().then(function() {
var currentPremium = fileB.getSixMonthPremium(); // calls the function in fileB.js
element(by.id('page-element').getText().then(function() {
console.log(currentPremium); // prints undefined
fileB.compareValue(currentPremium, ..., ...,);
});
});
//fileB.js
this.getSixMonthPremium() = function() {
element(by.id('full-premium').isDisplayed().then(function(displayed) {
if (displayed) {
element(by.id('full-premium').getText().then(function(currentPremium) {
console.log('Current Premium - ' + currentPremium); // prints string of $XXX.xx
return currentPremium; //seems to be returning undefined?
});
}
});
});
При попытке использовать переменную currentPremium
после того, как возвращается из вызова функции, это всегда не определено. Что я делаю не так?
Спасибо! Я знал, что это что-то похожее на асинхронное/обещание, но я не мог найти то, что мне нужно, в поисках Google. Мне нужно получить книгу JavaScript или найти хороший онлайн-материал :) – DrZoo