Изменение контекста webdriver на "WEBVIEW"

81
10

Мы используем Protractor и Appium для написания тестов для гибридного родного приложения.


У меня возникают неудобные проблемы с возможностями appuupview. Я подозреваю, что это условие гонки между медленными эмуляторами, изменяющими контексты, и командами отправки транспортиров, поддерживаемыми только контекстом webview.


То, что я хотел бы сделать, это вручную установить контекст WEBVIEW в обратном вызове Protractor onPrepare, благодаря тому, что это отключит условие гонки, описанное выше.


Есть фрагменты кода, такие как следующие, которые переключают контекст:


onPrepare: function () {
var wd = require('wd'),
wdBridge = require('wd-bridge')(protractor, wd),
_ = require('underscore');

wdBridge.initFromProtractor(exports.config);

return wdBrowser.contexts().then(function (ctxs) {
var webCtx = _(ctxs).find(function (ctx) {
return ctx.match(/WEBVIEW/);
});
return wdBrowser.context(webCtx)
});
}


Однако в моем случае 'wdBrowser.contexts' undefined. 'wdBrowser' - глобальный, созданный wdBridge; он определен, но эта функция undefined на нем, и нет ссылки на "контексты" в репозитории wd-bridge. Я вижу, что это определенная команда в wd, но я не могу найти ссылку в документах API WebDriverJS.


Интересно, что он четко определен WebdriverIO, в нем раздел appium. Я еще не готов отказаться от транспортира и wd, хотя.


Спасибо за любую помощь.

спросил(а) 2015-10-10T18:00:00+03:00 4 года, 11 месяцев назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема