.then не является функцией - Promise и .then находятся в разных файлах - PullRequest
0 голосов
/ 24 февраля 2020

Я работаю с nightwatch js и у меня возникают проблемы с вызовом метода .then по обещанию из другого файла js.

У меня есть файл getCount. js.

module.exports.command =  function () {

    return  new Promise((resolve,reject) => {
        var localSelector = 'div.flex.mt-4.v-card.v-sheet.theme--light > div > div > table > tbody';
        var rowSelector = localSelector + ' > tr';
        this.elements('css selector', rowSelector, function (result) {
            if (result.status) {
                console.log("Inside IF do promise " + result.value.length)
                reject(result.status);
            } else {
                console.log("Inside ELSE do promise " + result.value.length)
                resolve(result.value.length);
            }
        });
    });

};

и вот мой дом. js, где я пытаюсь выполнить свое обещание. Тем не менее, получение ошибки ниже

module.exports = {

    url: 'http://localhost:8080/',

    elements: {

        servicePageTitle :{
            selector : 'div.v-card__title > div > span:nth-child(2)'
        },
        tableBody :{
            selector : 'div.flex.mt-4.v-card.v-sheet.theme--light > div > div > table > tbody'
        }
    },

    commands: [{
        clickService(selector,serviceName){
            return this
            .searchTable(selector,serviceName)
        },

        testPromise(){
            this.getCount().then(function(v){
                console.log("Total is " + v)
            });
        }
    }]
};

Вызов ::

const page = browser.page.home();
page.navigate().testPromise();

Теперь мой итог не определен .. Вот вывод:

Running:  Dashboards:firstTest

Inside ELSE do promise 10
Total is undefined
No assertions ran.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...