Как обработать обещание и получить доступ к элементу и использовать getText () - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь воссоздать и запустить тесты гибридных приложений по Appium + Protractor на примере здесь Моя глобальная цель - создать среду тестирования для гибридных / нативных приложений Appium + Protractor Моя локальная цель - понять, какинтегрировать Appium + Protractor и выбрать лучшие подходы.Но в начале я сталкиваюсь с препятствием, чтобы получить текст из элемента и сравнить с ожидаемым.Я не могу получить текст из элемента WebView и сравнить с ожидаемыми по умолчанию методами elementByXpath.getText();

Итак, я добавил новый тест в файл

it("equal text", function () {
    return driver
        .elementById('buttonStartWebviewCD')
        .click()
        .sleep(5000)
        .contexts()
        .then(function (ctxs) {
            console.log(ctxs);
            return driver.context(ctxs[ctxs.length - 1]);
        })
        .source().then(function (source) {
            source.should.include('Prefered Car');
        })
        .elementById('name_input')
        .clear()
        .sendKeys('Andrey')
        .sendKeys(wd.SPECIAL_KEYS.Return)
        .sleep(2000)
        .elementByXPath("//h2").getText()
        .then(function(text) {
            console.log(text);
        });
});

Я обнаружил аналогичную ситуацию с моим здесь на stackoverflow , но это мне не помогает.Ошибка:

driver.elementById (...). Click (...). Sleep (...). Contexts (...). Then (...). Source (...). затем (...). elementById (...). ясно, (...). SendKeys (...). SendKeys (...). сон (...). elementByXPath (...). getText не является функцией в Context.(sample-code \ examples \ node \ android- webview.js: 152: 28) по адресу _fulfilled (sample-code \ examples \ node \ node_modules \ wd \ node_modules \ q \ q.js: 834: 54) в C: \транспортир \ sample-code \ sample-code \ examples \ node \ node_modules \ wd \ node_modules \ q \ q.js: 863: 30 в Promise.promise.promiseDispatch (пример-код \ examples \ node \ node_modules \ wd \ node_modules \q \ q.js: 796: 13) в C: \ protractor \ sample-code \ sample-code \ examples \ node \ node_modules \ wd \ node_modules \ q \ q.js: 604: 44 в runSingle (пример-кода \examples \ node \ node_modules \ wd \ node_modules \ q \ q.js: 137: 13) во флэш-памяти (пример-код \ examples \ node \ node_modules \ wd \ node_modules \ q \ q.js: 125: 13) в процессе._tickCallback (internal / process / next_tick.js: 61: 11)

Помогите мне решить эту проблему

...