Я пытаюсь воссоздать и запустить тесты гибридных приложений по 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)
Помогите мне решить эту проблему