Как получить селен драйвер с помощью await и ESM с мокко? - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть код, подобный этому gist .В основном я пытаюсь использовать ESM с mocha, поэтому у меня есть хакерский файл с ...

let driver = await import("./WireDriver.mjs");

Проблема, с которой я столкнулся, заключается в том, что драйвер не возвращается ни как обещание, ни как фактический драйвер.Мои контрольные точки не работают благодаря старой версии Chrome, которую мы используем, но когда я запускаю ...

console.log(`asdsa ${typeof d} ${Object.keys(d)} ${Object.getOwnPropertyNames(d)}`);

Возвращается как

asdsa объект по умолчанию

Как получить ожидание для фактического возврата объекта драйвера?

ОБНОВЛЕНИЕ

Я попытался упростить WireDriver до ...

const test = () => {
    return new Promise((res, rej) =>{
        res("This is a test");
    });
};

export {test}

Затем попытался использовать его следующим образом ...

const base = await import("./WireDriver.mjs");
base.test().then((test)=>{
    console.log(`Is driver loaded? ${test}`);
});

И теперь, когда я бегу, я получаю ...

UnhandledPromiseRejectionWarning: TypeError: base.test.then не является функцией

1 Ответ

0 голосов
/ 17 декабря 2018

Эта версия, похоже, сработала ...

import {BasePage} from "./pages/BasePage";

const driver = ()=>{
    let page = new BasePage();
    return page.driver;
};

export {driver}

(async () => {
   const base = await import("./WireDriver.mjs");
   const driver = await base.driver();
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...