UNPKG

appium-uiautomator2-driver

Version:
26 lines 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.doFindElementOrEls = doFindElementOrEls; const css_converter_1 = require("../css-converter"); // we override the xpath search for this first-visible-child selector, which // looks like /*[@firstVisible="true"] const MAGIC_FIRST_VIS_CHILD_SEL = /\/\*\[@firstVisible ?= ?('|")true\1\]/; const MAGIC_SCROLLABLE_SEL = /\/\/\*\[@scrollable ?= ?('|")true\1\]/; const MAGIC_SCROLLABLE_BY = 'new UiSelector().scrollable(true)'; async function doFindElementOrEls(params) { const uiautomator2 = this.uiautomator2; if (params.strategy === 'xpath' && MAGIC_FIRST_VIS_CHILD_SEL.test(params.selector)) { const elementId = params.context; return (await uiautomator2.jwproxy.command(`/appium/element/${elementId}/first_visible`, 'GET', {})); } if (params.strategy === 'xpath' && MAGIC_SCROLLABLE_SEL.test(params.selector)) { params.strategy = '-android uiautomator'; params.selector = MAGIC_SCROLLABLE_BY; } if (params.strategy === 'css selector') { params.strategy = '-android uiautomator'; params.selector = new css_converter_1.CssConverter(params.selector, this.opts.appPackage).toUiAutomatorSelector(); } return (await uiautomator2.jwproxy.command(`/element${params.multiple ? 's' : ''}`, 'POST', params)); } //# sourceMappingURL=find.js.map