| | |
| | | |
| | | /** |
| | | * 取得配置的JSON |
| | | * @return {any} JSON数据 |
| | | * @return {null|JSON} JSON数据 |
| | | */ |
| | | function getConfigJSON() { |
| | | var d = configWrapper.getParams(); |
| | |
| | | |
| | | /** |
| | | * 是否是agent模式 |
| | | * @return {boolean} |
| | | */ |
| | | function isAgentMode() { |
| | | if (configWrapper == null) { |
| | |
| | | |
| | | /** |
| | | * 是否是无障碍模式 |
| | | * @return {boolean} |
| | | */ |
| | | function isAccMode() { |
| | | if (configWrapper == null) { |
| | |
| | | /** |
| | | * 获取节点信息 |
| | | * @param timeout 超时时间 |
| | | * @return {Array} 节点信息集合 |
| | | * @return {null|NodeInfo[]} 节点信息集合 |
| | | */ |
| | | S.prototype.getNodeInfo = function (timeout) { |
| | | return getNodeInfo(this, timeout); |
| | |
| | | /** |
| | | * 通过选择器 获取第一个节点信息 |
| | | * @param timeout 等待时间,单位是毫秒 |
| | | * @return {NodeInfo} 对象或者null |
| | | * @return {null|NodeInfo} 对象或者null |
| | | */ |
| | | S.prototype.getOneNodeInfo = function (timeout) { |
| | | return getOneNodeInfo(this, timeout); |
| | |
| | | |
| | | /** |
| | | * 取得中间的坐标点 |
| | | * @return Point 对象 |
| | | * @return {Point} 对象 |
| | | */ |
| | | Rect.prototype.center = function () { |
| | | var p = new Point(null); |
| | |
| | | |
| | | /** |
| | | * 该节点的父级节点 |
| | | * @return NodeInfo 对象 或者null |
| | | * @return {null|NodeInfo} 对象 或者null |
| | | */ |
| | | NodeInfo.prototype.parent = function () { |
| | | return getNodeInfoParent(this); |
| | |
| | | /** |
| | | * 取得单个子节点 |
| | | * @param index 子节点索引 |
| | | * @return NodeInfo 对象 或者null |
| | | * @return {null|NodeInfo} 对象 或者null |
| | | */ |
| | | NodeInfo.prototype.child = function (index) { |
| | | return getNodeInfoChild(this, index); |
| | |
| | | |
| | | /** |
| | | * 取得所有子节点 |
| | | * @return NodeInfo 节点集合 |
| | | * @return {null|NodeInfo[]} 节点集合 |
| | | */ |
| | | NodeInfo.prototype.allChildren = function () { |
| | | return getNodeInfoAllChildren(this); |
| | |
| | | |
| | | /** |
| | | * 当前节点的所有兄弟节点 |
| | | * @return NodeInfo 节点集合 |
| | | * @return {null|NodeInfo[]} 节点集合 |
| | | */ |
| | | NodeInfo.prototype.siblings = function () { |
| | | return getSiblingNodeInfo(this); |
| | |
| | | |
| | | /** |
| | | * 在当前节点前面的兄弟节点 |
| | | * @return NodeInfo 节点集合 |
| | | * @return {null|NodeInfo[]} 节点集合 |
| | | */ |
| | | NodeInfo.prototype.previousSiblings = function () { |
| | | return getPreviousSiblingNodeInfo(this); |
| | | }; |
| | | /** |
| | | * 点击中心点 |
| | | * @return 布尔型 true 成功 |
| | | * @return {boolean} true 成功 |
| | | */ |
| | | NodeInfo.prototype.clickCenter = function () { |
| | | return clickCenter(this.bounds); |
| | |
| | | * 通过选择器 获取第一个节点信息 |
| | | * @param selectors 选择器 |
| | | * @param timeout |
| | | * @return {@link NodeInfo} 对象或者null |
| | | * @return {null|NodeInfo} 对象或者null |
| | | */ |
| | | NodeInfo.prototype.getOneNodeInfo = function (selectors, timeout) { |
| | | if (isAccMode()) { |
| | |
| | | * 通过选择器 获取节点信息 |
| | | * @param selectors 选择器 |
| | | * @param timeout |
| | | * @return {Array} NodeInfo 数组 |
| | | * @return {null|NodeInfo[]} NodeInfo 数组 |
| | | */ |
| | | NodeInfo.prototype.getNodeInfo = function (selectors, timeout) { |
| | | if (isAccMode()) { |
| | |
| | | |
| | | /** |
| | | * 在当前节点后面的兄弟节点 |
| | | * @return NodeInfo 节点集合 |
| | | * @return {null|NodeInfo[]} 节点集合 |
| | | */ |
| | | NodeInfo.prototype.nextSiblings = function () { |
| | | return getNextSiblingNodeInfo(this); |
| | |
| | | }; |
| | | /** |
| | | * 无指针点击节点 |
| | | * @return boolean|布尔型 true 成功 ,false 失败 |
| | | * @return {boolean} true 成功 ,false 失败 |
| | | */ |
| | | NodeInfo.prototype.clickEx = function () { |
| | | return clickExNodeInfo(this); |
| | | }; |
| | | |
| | | /** |
| | | * 聚焦 |
| | | * @return {boolean} |
| | | */ |
| | | NodeInfo.prototype.setFocus = function () { |
| | | return setFocusNodeInfo(this); |
| | | }; |
| | | |
| | | /** |
| | | * 无指针长点击节点 |
| | | * @return boolean|布尔型 true 成功 ,false 失败 |
| | | * @return {boolean} true 成功 ,false 失败 |
| | | */ |
| | | NodeInfo.prototype.longClickEx = function () { |
| | | return longClickExNodeInfo(this); |
| | |
| | | |
| | | /** |
| | | * 向前滚动 |
| | | * @return 布尔型 true 代表成功 false 代表失败 |
| | | * @return {boolean} true 代表成功 false 代表失败 |
| | | */ |
| | | NodeInfo.prototype.scrollForward = function () { |
| | | return scrollForwardNodeInfo(this); |
| | | }; |
| | | /** |
| | | * 向后滚动 |
| | | * @return 布尔型 true 代表成功 false 代表失败 |
| | | * @return {boolean} true 代表成功 false 代表失败 |
| | | */ |
| | | NodeInfo.prototype.scrollBackward = function () { |
| | | return scrollBackwardNodeInfo(this); |
| | | }; |
| | | /** |
| | | * 向下滚动 |
| | | * @return 布尔型 true 代表成功 false 代表失败 |
| | | * @return {boolean} true 代表成功 false 代表失败 |
| | | */ |
| | | NodeInfo.prototype.scrollDown = function () { |
| | | return scrollDownNodeInfo(this); |
| | | }; |
| | | /** |
| | | * 向上滚动 |
| | | * @return 布尔型 true 代表成功 false 代表失败 |
| | | * @return {boolean} true 代表成功 false 代表失败 |
| | | */ |
| | | NodeInfo.prototype.scrollUp = function () { |
| | | return scrollUpNodeInfo(this); |
| | | }; |
| | | /** |
| | | * 向左滚动 |
| | | * @return 布尔型 true 代表成功 false 代表失败 |
| | | * @return {boolean} true 代表成功 false 代表失败 |
| | | */ |
| | | NodeInfo.prototype.scrollLeft = function () { |
| | | return scrollLeftNodeInfo(this); |
| | | }; |
| | | /** |
| | | * 向右滚动 |
| | | * @return 布尔型 true 代表成功 false 代表失败 |
| | | * @return {boolean} true 代表成功 false 代表失败 |
| | | */ |
| | | NodeInfo.prototype.scrollRight = function () { |
| | | return scrollRightNodeInfo(this); |
| | |
| | | /** |
| | | * 对某个节点粘贴数据 |
| | | * @param content 要输入的内容 |
| | | * @return boolean|布尔型 true 成功 ,false 失败 |
| | | * @return {boolean} true 成功 ,false 失败 |
| | | */ |
| | | NodeInfo.prototype.pasteText = function (content) { |
| | | return pasteTextNodeInfo(this, content); |
| | |
| | | |
| | | /** |
| | | * 长点击节点 |
| | | * @return boolean|布尔型 true 成功 ,false 失败 |
| | | * @return {boolean} true 成功 ,false 失败 |
| | | */ |
| | | NodeInfo.prototype.longClick = function () { |
| | | return longClickRandomRect(this.bounds); |
| | |
| | | /** |
| | | * 对某个节点输入数据 |
| | | * @param content 要输入的内容 |
| | | * @return boolean|布尔型 true 成功 ,false 失败 |
| | | * @return {boolean} true 成功 ,false 失败 |
| | | */ |
| | | NodeInfo.prototype.inputText = function (content) { |
| | | return inputTextNodeInfo(this, content); |
| | |
| | | /** |
| | | * 使用输入法对某个节点输入数据,前提是已经设置本程序的输入法为默认输入法 |
| | | * @param content 要输入的内容 |
| | | * @return boolean|布尔型 true 成功 ,false 失败 |
| | | * @return {boolean} true 成功 ,false 失败 |
| | | */ |
| | | NodeInfo.prototype.imeInputText = function (content) { |
| | | return imeInputTextNodeInfo(this, content); |
| | |
| | | /** |
| | | * 使用输入法对某个节点输入数据,前提是已经设置本程序的输入法为默认输入法 |
| | | * @param content 具体请看 KeyEvent.KEYCODE_*的值,例如66 = enter 67=del,84=SEARCH |
| | | * @return boolean|布尔型 true 成功 ,false 失败 |
| | | * @return {boolean} true 成功 ,false 失败 |
| | | */ |
| | | NodeInfo.prototype.imeInputKeyCode = function (content) { |
| | | return imeInputKeyCodeNodeInfo(this, content); |
| | |
| | | |
| | | /** |
| | | * 清除节点文本数据 |
| | | * @return boolean 布尔型| true代表成功 |
| | | * @return {boolean} 布尔型| true代表成功 |
| | | */ |
| | | NodeInfo.prototype.clearText = function () { |
| | | return clearTextFieldNodeInfo(this); |
| | |
| | | |
| | | |
| | | function AutoImage(uuid) { |
| | | this.uuid = uuid; |
| | | this.uuid = uuid + ""; |
| | | this.mat = false; |
| | | if (uuid != null && uuid != undefined) { |
| | | this.mat = uuid.indexOf("-mat") != -1; |
| | | } |
| | | } |
| | | |
| | | AutoImage.prototype.toString = function () { |
| | | return JSON.stringify({"uuid": this.uuid, "mat": this.mat, "aiobj": true}); |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 点击文本 |
| | | * @param text 文本 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function clickText(text) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 随机点击选择器的任意元素 |
| | | * @param selectors 选择器对象 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function clickRandom(selectors) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 随机点击选择器的任意元素(无指针模式) |
| | | * @param selectors 选择器对象 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function clickRandomEx(selectors) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 随机点击区域中的坐标 |
| | | * @param rect 区域对象 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function clickRandomRect(rect) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 随机长点击区域中的坐标 |
| | | * @param rect 区域对象 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function longClickRandomRect(rect) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 点击选择器 |
| | | * @param selectors 选择器对象 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function click(selectors) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 无指针模式点击选择器 |
| | | * @param selectors 选择器对象 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function clickEx(selectors) { |
| | | if (isAccMode()) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 设置节点聚焦 |
| | | * @param selectors 选择器对象 |
| | | * @return {boolean} |
| | | */ |
| | | function setFocus(selectors) { |
| | | if (isAccMode()) { |
| | | return acEvent.setFocus(selectors); |
| | | } else if (isAgentMode()) { |
| | | return agentEvent.setFocus(selectors); |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * 无指针模式长按选择器 |
| | | * @param selectors 选择器对象 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function longClickEx(selectors) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 点击某个区域中心坐标点 |
| | | * @param rect 区域 |
| | | * @return 布尔型 true 成功,false 失败 |
| | | * @return {boolean} 布尔型 true 成功,false 失败 |
| | | */ |
| | | function clickCenter(rect) { |
| | | if (isAccMode()) { |
| | |
| | | * 点击坐标 |
| | | * @param x x坐标 |
| | | * @param y y坐标 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function clickPoint(x, y) { |
| | | if (isAccMode()) { |
| | |
| | | * 双击坐标 |
| | | * @param x x坐标 |
| | | * @param y y坐标 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function doubleClickPoint(x, y) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 长点击选择器 |
| | | * @param selectors 选择器对象 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function longClick(selectors) { |
| | | if (isAccMode()) { |
| | |
| | | * 长点击坐标 |
| | | * @param x x坐标 |
| | | * @param y y坐标 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function longClickPoint(x, y) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 获取选择器得到的文本数据 |
| | | * @param selectors 选择器 |
| | | * @return 字符串集合 |
| | | * @return {null|string} 字符串集合 |
| | | */ |
| | | function getText(selectors) { |
| | | if (isAccMode()) { |
| | |
| | | * 获取节点属性信息 |
| | | * @param selectors 选择器 |
| | | * @param attr 属性值,例如 text,className,更多的属性请参考NodeInfo对象属性 |
| | | * @return null|字符串数组|Rect对象数组 |
| | | * @return {null|any[]} null|字符串数组|Rect对象数组 |
| | | */ |
| | | function getNodeAttrs(selectors, attr) { |
| | | if (selectors == null || attr == null) { |
| | |
| | | /** |
| | | * 设置各种手势模式事件的操作类型,默认是异步,目前只对无障碍模式有效 |
| | | * @param mode 1 代表异步,2代表同步 |
| | | * @param bool true代表成功 false代表失败 |
| | | * @return {boolean} true代表成功 false代表失败 |
| | | */ |
| | | function setGestureActionMode(mode) { |
| | | if (isAccMode()) { |
| | |
| | | * 获取节点信息 |
| | | * @param selectors 选择器 |
| | | * @param timeout 超时时间,单位是毫秒 |
| | | * @return {Array} NodeInfo 数组 节点信息集合 |
| | | * @return {null|NodeInfo[]} NodeInfo 数组 节点信息集合 |
| | | */ |
| | | function getNodeInfo(selectors, timeout) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 通过Selector 判断元素是否存在 |
| | | * @param selectors 选择器 |
| | | * @return bool|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function has(selectors) { |
| | | if (isAccMode()) { |
| | |
| | | * 通过Selector 判断并等待元素是否存 |
| | | * @param selectors 选择器 |
| | | * @param timeout 超时时间,单位毫秒 |
| | | * @return bool|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function waitExistNode(selectors, timeout) { |
| | | if (timeout <= 0) { |
| | |
| | | * 等待activity界面出现 |
| | | * @param activity 界面名称 |
| | | * @param timeout 超时时间,单位毫秒 |
| | | * @return bool|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function waitExistActivity(activity, timeout) { |
| | | if (activity == null) { |
| | |
| | | |
| | | /** |
| | | * 将元素节点变成XML |
| | | * @return string string|null |
| | | * @return {null|string} string|null |
| | | */ |
| | | function dumpXml() { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 将通知发射处理,相当于点击了通知栏 |
| | | * @param seqId |
| | | * @return bool|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function shotNotification(seqId) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 将通知进行取消操作 |
| | | * @param seqId |
| | | * @return bool|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function cancelNotification(seqId) { |
| | | if (isAccMode()) { |
| | |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param seqId |
| | | * @return {boolean} |
| | | */ |
| | | function ignoreNotification(seqId) { |
| | | if (isAccMode()) { |
| | | return acEvent.ignoreNotification(seqId); |
| | |
| | | * 获取toast数据 |
| | | * @param pkg 指定包名 |
| | | * @param size 指定获取的条数 |
| | | * @return null|ToastInfo数组 |
| | | * @return {null|ToastInfo[]} null|ToastInfo数组 |
| | | */ |
| | | function getLastToast(pkg, size) { |
| | | if (isAccMode()) { |
| | |
| | | * 获取最近通知栏对象 |
| | | * @param pkg 指定包名 |
| | | * @param size 指定获取的条数 |
| | | * @return NotificationInfo数组|null |
| | | * @return {null|NotificationInfo[]} 数组|null |
| | | */ |
| | | function getLastNotification(pkg, size) { |
| | | if (isAccMode()) { |
| | |
| | | * 运行环境: 无限制 |
| | | * <Br/> |
| | | * @param timeout 请求权限超时时间 单位是秒 |
| | | * @return true 代表请求权限成功,false代表失败 |
| | | * @return {boolean} true 代表请求权限成功,false代表失败 |
| | | */ |
| | | function requestNotificationPermission(timeout) { |
| | | if (isAccMode()) { |
| | |
| | | * 运行环境: 无限制 |
| | | * <Br/> |
| | | * 兼容版本: Android 5.0 以上 |
| | | * @return true 有权限,false 代表无权限 |
| | | * @return {boolean} true 有权限,false 代表无权限 |
| | | */ |
| | | function hasNotificationPermission() { |
| | | if (isAccMode()) { |
| | |
| | | |
| | | /** |
| | | * 取得当前运行的Activity类名 |
| | | * @return {string} |
| | | * @return {null|string} |
| | | */ |
| | | function getRunningActivity() { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 这个获取的不准,请使用 getCurrentRunningPkg 函数 |
| | | * 取得当前运行的App包名 |
| | | * @return string |
| | | * @return {null|string} |
| | | */ |
| | | function getRunningPkg() { |
| | | if (isAccMode()) { |
| | |
| | | * 取得当前运行的App包名 |
| | | * 这个是通过节点获取的,前提是需要打开自动化服务 |
| | | * 适配EC 10.6.0+ |
| | | * @return string |
| | | * @return {null|string} |
| | | */ |
| | | function getCurrentRunningPkg() { |
| | | if (isAccMode()) { |
| | |
| | | |
| | | /** |
| | | * |
| | | * @return bool 布尔型| true代表成功 |
| | | * @return {boolean} 布尔型| true代表成功 |
| | | */ |
| | | function home() { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 返回桌面2 |
| | | * 适配EC 安卓 9.16.0+ |
| | | * @return {bool} true 代表成功 |
| | | * @return {boolean} true 代表成功 |
| | | */ |
| | | function home2() { |
| | | importClass(android.content.Intent); |
| | |
| | | |
| | | /** |
| | | * 分割屏幕 |
| | | * @return bool 布尔型| true代表成功 |
| | | * @return {boolean} 布尔型| true代表成功 |
| | | */ |
| | | function splitScreen() { |
| | | if (isAccMode()) { |
| | |
| | | |
| | | /** |
| | | * 模拟电源键 |
| | | * @return 布尔型 true 成功 false 失败 |
| | | * @return {boolean} true 成功 false 失败 |
| | | */ |
| | | function power() { |
| | | if (isAccMode()) { |
| | |
| | | |
| | | /** |
| | | * 打开快速设置 |
| | | * @return 布尔型 true 成功, else 失败 |
| | | * @return {boolean} true 成功, else 失败 |
| | | */ |
| | | function openQuickSettings() { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 打开通知栏 |
| | | * |
| | | * @return 布尔型 true 成功, else 失败 |
| | | * @return {boolean} true 成功, else 失败 |
| | | */ |
| | | function openNotification() { |
| | | if (isAccMode()) { |
| | |
| | | |
| | | /** |
| | | * 返回按键 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function back() { |
| | | if (isAccMode()) { |
| | |
| | | |
| | | /** |
| | | * 最近APP任务按键 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function recentApps() { |
| | | if (isAccMode()) { |
| | |
| | | |
| | | /** |
| | | * 当前是否是我们的输入法 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function currentIsOurIme() { |
| | | if (isAccMode()) { |
| | |
| | | * 通过Selector输入数据 |
| | | * @param selectors 选择器 |
| | | * @param content 数据字符串 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function inputText(selectors, content) { |
| | | if (isAccMode()) { |
| | |
| | | * 通过选择器粘贴数据 |
| | | * @param selectors 选择器 |
| | | * @param content 数据字符串 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function pasteText(selectors, content) { |
| | | if (isAccMode()) { |
| | |
| | | * @param selectors 选择器,可以为空,如果为空,前提是输入框是聚焦的状态 |
| | | * @param content 具体请看 KeyEvent.KEYCODE_*的值,例如66 = enter 67=del,84=SEARCH |
| | | * 特殊代码: 1000: 模拟搜索按键,1001: 模拟完成按键 1002:模拟go按键,1003:模拟下一个按键,1004:模拟上一个按键 1005:模拟发送按键 |
| | | * @return {boolean|布尔型} |
| | | * @return {boolean} |
| | | */ |
| | | function imeInputText(selectors, content) { |
| | | if (selectors == null || selectors == undefined || selectors == "") { |
| | |
| | | * 使用输入法输入内容时,输入法键盘视图是否展示出来 |
| | | * 前提:在EC 系统设置中,勾选了 显示输入法键盘 |
| | | * 适配EC 9.18.0+ |
| | | * @return {boolean|布尔型} true代表视图展示 false代表未展示 |
| | | * @return {boolean}true代表视图展示 false代表未展示 |
| | | */ |
| | | function imeInputViewShown() { |
| | | return acEventWrapper.imeInputViewShown(); |
| | |
| | | * 使用输入法输入内容,前提是已经设置本程序的输入法为默认输入法 |
| | | * @param selectors 选择器 |
| | | * @param content 整型,具体请看 KeyEvent.KEYCODE_*的值,例如66 = enter 67=del,84=SEARCH |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function imeInputKeyCode(selectors, content) { |
| | | if (selectors == null || selectors == undefined || selectors == "") { |
| | |
| | | /** |
| | | * 清除文本数据 |
| | | * @param selectors 节点选择器 |
| | | * @return boolean 布尔型| true代表成功 |
| | | * @return {boolean} 布尔型| true代表成功 |
| | | */ |
| | | function clearTextField(selectors) { |
| | | if (isAccMode()) { |
| | |
| | | * @param endX 结束的X坐标 |
| | | * @param endY 结束的Y坐标 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 代表成功 false 代表失败 |
| | | * @return {boolean} true 代表成功 false 代表失败 |
| | | */ |
| | | function swipe(selectors, endX, endY, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * @param endX 结束坐标的X轴值 |
| | | * @param endY 结束坐标的Y轴值 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 滑动成功, false 滑动失败 |
| | | * @return {boolean} true 滑动成功, false 滑动失败 |
| | | */ |
| | | function swipeToPoint(startX, startY, endX, endY, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * @param selectors 节点选择器 |
| | | * @param distance 滑动距离 单位是像素 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 滑动成功,false 滑动失败 |
| | | * @return {boolean} true 滑动成功,false 滑动失败 |
| | | */ |
| | | function swipeFromDownToUp(selectors, distance, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * @param selectors 节点选择器 |
| | | * @param distance 滑动距离 单位是像素 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 滑动成功,false 滑动失败 |
| | | * @return {boolean} true 滑动成功,false 滑动失败 |
| | | */ |
| | | function swipeFromUpToDown(selectors, distance, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * @param selectors 节点选择器 |
| | | * @param distance 滑动距离 单位是像素 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 滑动成功,false 滑动失败 |
| | | * @return {boolean} true 滑动成功,false 滑动失败 |
| | | */ |
| | | function swipeFromRightToLeft(selectors, distance, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * @param selectors 节点选择器 |
| | | * @param distance 滑动距离 单位是像素 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 滑动成功,false 滑动失败 |
| | | * @return {boolean} true 滑动成功,false 滑动失败 |
| | | */ |
| | | function swipeFromLeftToRight(selectors, distance, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * 向上滑动 |
| | | * @param distance 滑动距离 单位像素 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 成功,false 失败 |
| | | * @return {boolean} true 成功,false 失败 |
| | | */ |
| | | function swipeFromDownToUpInScreen(distance, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * 向下滑动 |
| | | * @param distance 滑动距离 单位像素 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 代表成功 false 代表失败 |
| | | * @return {boolean} true 代表成功 false 代表失败 |
| | | */ |
| | | function swipeFromUpToDownInScreen(distance, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * 向左滑动 |
| | | * @param distance 滑动距离 单位像素 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 代表成功 false 代表失败 |
| | | * @return {boolean} true 代表成功 false 代表失败 |
| | | */ |
| | | function swipeFromRightToLeftInScreen(distance, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * 向右滑动 |
| | | * @param distance 滑动距离 单位像素 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 代表成功 false 代表失败 |
| | | * @return {boolean} true 代表成功 false 代表失败 |
| | | */ |
| | | function swipeFromLeftToRightInScreen(distance, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * 是否滚动到底部了,如果查不到元素也会返回false |
| | | * @param distance 滚动方向 UP,DOWN,LEFT,RIGHT |
| | | * @param selectors 选择器 |
| | | * @return false 代表未滚动到位,true 代表滚动完成了 |
| | | * @return {boolean} false 代表未滚动到位,true 代表滚动完成了 |
| | | */ |
| | | function isScrollEnd(distance, selectors) { |
| | | if (isAccMode()) { |
| | |
| | | * @param endX 结束坐标的X轴值 |
| | | * @param endY 结束坐标的Y轴值 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 拖动成功, false 拖动失败 |
| | | * @return {boolean} true 拖动成功, false 拖动失败 |
| | | */ |
| | | function drag(startX, startY, endX, endY, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * @param selectors 选择器 {@link S} |
| | | * @param destObj 目标元素选择器 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 成功 false 失败 |
| | | * @return {boolean} true 成功 false 失败 |
| | | */ |
| | | function dragTo(selectors, destObj, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * @param endX 目标 X 坐标 |
| | | * @param endY 目标 Y 坐标 |
| | | * @param duration 持续时长 单位毫秒 |
| | | * @return 布尔型 true 成功 false 失败 |
| | | * @return {boolean} true 成功 false 失败 |
| | | */ |
| | | function dragToPoint(selectors, endX, endY, duration) { |
| | | if (isAccMode()) { |
| | |
| | | * <Br/> |
| | | * 兼容版本: Android 4.4 以上 |
| | | * @param timeout 请求权限超时时间 单位是秒 |
| | | * @return true 代表请求权限成功,false代表失败 |
| | | * @return {boolean} true 代表请求权限成功,false代表失败 |
| | | */ |
| | | function requestFloatViewPermission(timeout) { |
| | | return utils.requestFloatViewPermission(timeout); |
| | |
| | | * y:整型 悬浮窗起始Y坐标 |
| | | * w:整型 悬浮窗起始宽度 |
| | | * h:整型 悬浮窗起始高度 |
| | | * @return true 代表请求权限成功,false代表失败 |
| | | * @return {boolean} true 代表请求权限成功,false代表失败 |
| | | */ |
| | | function showFloatView(params) { |
| | | return utils.showFloatView(params); |
| | |
| | | /** |
| | | * 折叠日志悬浮窗,只保留标题 |
| | | * 适配EC 9.32.0+ |
| | | * @return true 成功,false代表失败 |
| | | * @return {boolean} true 成功,false代表失败 |
| | | */ |
| | | function collapseLogView() { |
| | | return utils.collapseLogView(); |
| | |
| | | /** |
| | | * 关闭浮窗 |
| | | * @param tag showFloatView 使用的tag参数,对悬浮窗唯一定位的 |
| | | * @return true 成功,false代表失败 |
| | | * @return {boolean} true 成功,false代表失败 |
| | | */ |
| | | function closeFloatView(tag) { |
| | | return utils.closeFloatView(tag); |
| | |
| | | /** |
| | | * 展开日志悬浮窗 |
| | | * 适配EC 9.32.0+ |
| | | * @return true 成功,false代表失败 |
| | | * @return {boolean} true 成功,false代表失败 |
| | | */ |
| | | function expandLogView() { |
| | | return utils.expandLogView(); |
| | |
| | | |
| | | /** |
| | | * 关闭所有悬浮窗,但不包含日志悬浮窗 |
| | | * @return true 成功,false代表失败 |
| | | * @return {boolean} true 成功,false代表失败 |
| | | */ |
| | | function closeAllFloatView() { |
| | | return utils.closeAllFloatView(); |
| | |
| | | * title:日志框标题 |
| | | * showTitle:是否显示标题 |
| | | * backgroundImg 背景图片,放到工程的res文件夹,录入填写res/a.png |
| | | * @return bool true代表成功,false代表失败 |
| | | * @return {boolean} true代表成功,false代表失败 |
| | | */ |
| | | function setLogViewSizeEx(map) { |
| | | return utils.setLogViewSizeEx(JSON.stringify(map)); |
| | |
| | | * h:高度 |
| | | * textSize:日志的字体大小 |
| | | * backgroundColor:背景颜色,例如#336699 |
| | | * @return bool true代表成功,false代表失败 |
| | | * @return {boolean} true代表成功,false代表失败 |
| | | */ |
| | | function setLogFixedViewEx(map) { |
| | | return utils.setLogFixedViewEx(JSON.stringify(map)); |
| | | } |
| | | |
| | | /** |
| | | * 设置日志固定栏目属性 |
| | | * @param msg string |
| | | * @return {boolean} |
| | | */ |
| | | function setFixedViewText(msg) { |
| | | return utils.setFixedViewText(msg); |
| | | } |
| | |
| | | * x: 起始X位置 |
| | | * y: 起始Y位置 |
| | | * backgroundColor:背景颜色,例如#336699 |
| | | * @return bool true代表成功,false代表失败 |
| | | * @return {boolean} true代表成功,false代表失败 |
| | | */ |
| | | function setCtrlViewSizeEx(map) { |
| | | return utils.setCtrlViewSizeEx(JSON.stringify(map)); |
| | |
| | | * 运行环境: 无限制 |
| | | * <Br/> |
| | | * 兼容版本: Android 4.4 以上 |
| | | * @return true 有权限,false 代表无权限 |
| | | * @return {boolean} true 有权限,false 代表无权限 |
| | | */ |
| | | function hasFloatViewPermission() { |
| | | return utils.hasFloatViewPermission(); |
| | |
| | | * 运行环境: 无限制 |
| | | * <Br/> |
| | | * 兼容版本: Android 4.4 以上 |
| | | * @return {boolean} |
| | | */ |
| | | function showLogWindow() { |
| | | return utils.showLogWindow(); |
| | |
| | | /** |
| | | * 关闭启停浮窗 |
| | | * 兼容版本: Android 4.4 以上 |
| | | * @return {boolean} |
| | | */ |
| | | function closeCtrlWindow() { |
| | | return utils.hideCtrlWindow(); |
| | |
| | | * 运行环境: 无限制 |
| | | * <Br/> |
| | | * 兼容版本: Android 4.4 以上 |
| | | * @return {boolean} |
| | | */ |
| | | function closeLogWindow() { |
| | | return utils.hideLogWindow(); |
| | |
| | | * @param msg 消息 |
| | | * @param color 颜色值例如 #ffffff |
| | | * @param size 字体大小 |
| | | * @return {*} |
| | | * @return {boolean} |
| | | */ |
| | | function setLogText(msg, color, size) { |
| | | return utils.setLogText(msg, color, size); |
| | |
| | | * 通过选择器 获取第一个节点信息 |
| | | * @param selectors 选择器 |
| | | * @param timeout |
| | | * @return {NodeInfo} 对象或者null |
| | | * @return {null|NodeInfo} 对象或者null |
| | | */ |
| | | function getOneNodeInfo(selectors, timeout) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 取得父级 |
| | | * @param nodeinfo NodeInfo对象 |
| | | * @return { NodeInfo} {NodeInfo 对象|null} |
| | | * @return {null|NodeInfo} NodeInfo 对象|null |
| | | */ |
| | | function getNodeInfoParent(nodeinfo) { |
| | | if (nodeinfo == null || nodeinfo.nid == null) { |
| | |
| | | * 取得单个子节点 |
| | | * @param nodeinfo NodeInfo对象 |
| | | * @param index 子节点索引 |
| | | * @return {NodeInfo} {NodeInfo 对象|null} |
| | | * @return {null|NodeInfo} NodeInfo 对象|null |
| | | */ |
| | | function getNodeInfoChild(nodeinfo, index) { |
| | | if (nodeinfo == null || nodeinfo.nid == null) { |
| | |
| | | /** |
| | | * 取得所有子节点 |
| | | * @param nodeinfo NodeInfo对象 |
| | | * @return {Array} NodeInfo 数组 |
| | | * @return {null|NodeInfo[]} NodeInfo 数组 |
| | | */ |
| | | function getNodeInfoAllChildren(nodeinfo) { |
| | | if (nodeinfo == null || nodeinfo.nid == null) { |
| | |
| | | /** |
| | | * 当前节点的所有兄弟节点 |
| | | * @param nodeinfo NodeInfo对象 |
| | | * @return {Array} NodeInfo 数组 |
| | | * @return {null|NodeInfo[]} NodeInfo 数组 |
| | | */ |
| | | function getSiblingNodeInfo(nodeinfo) { |
| | | if (nodeinfo == null || nodeinfo.nid == null) { |
| | |
| | | /** |
| | | * 在当前节点前面的兄弟节点 |
| | | * @param nodeinfo NodeInfo对象 |
| | | * @return NodeInfo 节点集合 |
| | | * @return {null|NodeInfo[]} 节点集合 |
| | | */ |
| | | function getPreviousSiblingNodeInfo(nodeinfo) { |
| | | if (nodeinfo == null || nodeinfo.nid == null) { |
| | |
| | | /** |
| | | * 在当前节点后面的兄弟节点 |
| | | * @param nodeinfo NodeInfo对象 |
| | | * @return {Array} NodeInfo 数组 |
| | | * @return {null|NodeInfo[]} NodeInfo 数组 |
| | | */ |
| | | function getNextSiblingNodeInfo(nodeinfo) { |
| | | |
| | |
| | | * 对某个节点输入数据 |
| | | * @param nodeinfo NodeInfo对象 |
| | | * @param content 数据字符串 |
| | | * @return {boolean|布尔型} |
| | | * @return {boolean} |
| | | */ |
| | | function inputTextNodeInfo(nodeinfo, content) { |
| | | if (isAccMode()) { |
| | |
| | | * 对某个节点粘贴数据 |
| | | * @param nodeinfo NodeInfo对象 |
| | | * @param content 数据字符串 |
| | | * @return {boolean|布尔型} |
| | | * @return {boolean} |
| | | */ |
| | | function pasteTextNodeInfo(nodeinfo, content) { |
| | | if (isAccMode()) { |
| | |
| | | * 使用输入法对某个节点输入数据,前提是已经设置本程序的输入法为默认输入法 |
| | | * @param nodeinfo NodeInfo对象 |
| | | * @param content 数据字符串 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function imeInputTextNodeInfo(nodeinfo, content) { |
| | | if (isAccMode()) { |
| | |
| | | * 使用输入法对某个节点输入数据,前提是已经设置本程序的输入法为默认输入法 |
| | | * @param nodeinfo NodeInfo对象 |
| | | * @param content 具体请看 KeyEvent.KEYCODE_*的值,例如66 = enter 67=del,84=SEARCH |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function imeInputKeyCodeNodeInfo(nodeinfo, content) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 清除节点文本数据 |
| | | * @param nodeinfo NodeInfo对象 |
| | | * @return bool 布尔型| true代表成功 |
| | | * @return {boolean} 布尔型| true代表成功 |
| | | */ |
| | | function clearTextFieldNodeInfo(nodeinfo) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 节点信息是否有效 |
| | | * @param nodeinfo NodeInfo对象 |
| | | * @return bool|布尔型 true代表有 |
| | | * @return {boolean} true代表有 |
| | | */ |
| | | function isValidNodeInfo(nodeinfo) { |
| | | if (isAccMode()) { |
| | |
| | | * @param fetchInvisibleNode 是否抓取隐藏的元素,默认不抓取 |
| | | * @param fetchNotImportantNode 是否抓取不重要的元素 |
| | | * @param algorithm 节点查找算法,默认是nsf,分别有 nsf = 节点静态算法,bsf= 广度优先, dsf=深度度优先 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function setFetchNodeMode(mode, fetchInvisibleNode, fetchNotImportantNode, algorithm) { |
| | | if (isAccMode()) { |
| | |
| | | * @param data map格式 {"dumpMethod":1,"maxDepth":50} |
| | | * dumpMethod: NSF算法下的抓节点方式分别是1、2、3,默认是1 |
| | | * maxDepth: 抓节点深度 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function setNodeDumpParam(data) { |
| | | if (isAccMode()) { |
| | |
| | | * 适配 EC 9.23.0+ |
| | | * @param blockNode 字符串,以英文逗号分割,例如 clz,index,bounds,获取属性值,参考idea节点面板的右侧属性 |
| | | * blockNode 设置为 "" , 代表恢复默认 |
| | | * @return {boolean|*} |
| | | * @return {boolean} |
| | | */ |
| | | function setBlockNodeAttr(blockNodeAttr) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 加上节点获取的某个标志位 |
| | | * @param flag 参见 AccessibilityServiceInfo.FLAG_*,如果是0是强制刷新 |
| | | * @return {null|boolean} |
| | | * @return {boolean} |
| | | */ |
| | | function addNodeFlag(flag) { |
| | | if (isAccMode()) { |
| | |
| | | /** |
| | | * 转换成node inf的数组 |
| | | * @param d |
| | | * @return NodeInfo {NodeInfo 数组 | null} |
| | | * @return {null|NodeInfo[]} NodeInfo 数组 | null |
| | | */ |
| | | function nodeInfoArray(d) { |
| | | if (d == null || d == "") { |
| | | return null; |
| | | } |
| | | d = JSON.parse(d); |
| | | var x = []; |
| | | for (var i = 0; i < d.length; i++) { |
| | | x.push(new NodeInfo(d[i])); |
| | | try { |
| | | d = JSON.parse(d); |
| | | var x = []; |
| | | for (var i = 0; i < d.length; i++) { |
| | | x.push(new NodeInfo(d[i])); |
| | | } |
| | | return x; |
| | | } catch (e) { |
| | | |
| | | } |
| | | return x; |
| | | return null; |
| | | } |
| | | |
| | | |
| | |
| | | /** |
| | | * 创建一个多点触摸下一个对象 |
| | | * |
| | | * @return MultiPoint 选择器对象 |
| | | * @return {MultiPoint} 选择器对象 |
| | | */ |
| | | MultiPoint.prototype.next = function () { |
| | | this.create(); |
| | |
| | | /** |
| | | * 动作,可以参考android的MotionEvent.ACTION_* |
| | | * @param value 一般情况下 按下为0,弹起为1,移动为2 |
| | | * @return MultiPoint |
| | | * @return {MultiPoint} |
| | | */ |
| | | MultiPoint.prototype.action = function (value) { |
| | | if (this.m != null) { |
| | |
| | | |
| | | /** |
| | | * 按下动作 |
| | | * @return MultiPoint |
| | | * @return {MultiPoint} |
| | | */ |
| | | MultiPoint.prototype.downAction = function () { |
| | | this.action(0); |
| | |
| | | |
| | | /** |
| | | * 弹起动作 |
| | | * @return MultiPoint |
| | | * @return {MultiPoint} |
| | | */ |
| | | MultiPoint.prototype.upAction = function () { |
| | | this.action(1); |
| | |
| | | |
| | | /** |
| | | * 移动动作 |
| | | * @return MultiPoint |
| | | * @return {MultiPoint} |
| | | */ |
| | | MultiPoint.prototype.moveAction = function () { |
| | | this.action(2); |
| | |
| | | /** |
| | | * 设置X坐标 |
| | | * @param value X坐标 |
| | | * @return MultiPoint |
| | | * @return {MultiPoint} |
| | | */ |
| | | MultiPoint.prototype.x = function (value) { |
| | | if (this.m != null) { |
| | |
| | | /** |
| | | * 设置X坐标 |
| | | * @param value X坐标 |
| | | * @return MultiPoint |
| | | * @return {MultiPoint} |
| | | */ |
| | | MultiPoint.prototype.y = function (value) { |
| | | if (this.m != null) { |
| | |
| | | /** |
| | | * 该动作延迟多少毫秒执行 |
| | | * @param value 延迟时间,单位是毫秒 |
| | | * @return MultiPoint |
| | | * @return {MultiPoint} |
| | | */ |
| | | MultiPoint.prototype.delay = function (value) { |
| | | if (this.m != null) { |
| | |
| | | /** |
| | | * meta / modifier 键的状态,一般设置为0 |
| | | * @param value |
| | | * @return MultiPoint |
| | | * @return {MultiPoint} |
| | | */ |
| | | MultiPoint.prototype.metaState = function (value) { |
| | | if (this.m != null) { |
| | |
| | | return S.get().xpath(value); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param value |
| | | * @return {*S |
| | | */ |
| | | function row(value) { |
| | | return S.get().row(value); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param value |
| | | * @return {S} |
| | | */ |
| | | function column(value) { |
| | | return S.get().column(value); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param value |
| | | * @return {S} |
| | | */ |
| | | function rowSpan(value) { |
| | | return S.get().rowSpan(value); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param value |
| | | * @return {S} |
| | | */ |
| | | function columnSpan(value) { |
| | | return S.get().columnSpan(value); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param value |
| | | * @return {S} |
| | | */ |
| | | function rowCount(value) { |
| | | return S.get().rowCount(value); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param value |
| | | * @return {S} |
| | | */ |
| | | function columnCount(value) { |
| | | return S.get().columnCount(value); |
| | | } |
| | |
| | | * @param touch2 第2个手指的触摸点数组 |
| | | * @param touch3 第3个手指的触摸点数组 |
| | | * @param timeout 多点触摸执行的超时时间,单位是毫秒,在无障碍模式下,这个参数不生效 |
| | | * @return boolean|布尔型 |
| | | * @return {boolean} |
| | | */ |
| | | function multiTouch(touch1, touch2, touch3, timeout) { |
| | | if (isAccMode()) { |
| | |
| | | * 取得某个范围的随机值 |
| | | * @param min 最小值 |
| | | * @param max 最大值 |
| | | * @return 整型 在min和max中间的值, 包含最大和最小值 |
| | | * @return {number} 在min和max中间的值, 包含最大和最小值 |
| | | */ |
| | | function random(min, max) { |
| | | return utils.getRangeInt(min, max); |
| | |
| | | * @param tag 任务的唯一标示,不能为空,脚本中可以使用readConfigString("jobTaskTag")获取当前tag值,判断是那个任务过来执行的 |
| | | * @param execTime 定时时间格式: 2020-04-17 19:20:00,或者直接是秒数字,例如 3,代表3秒后 |
| | | * @param cancelBeforeRunning |
| | | * @return 整型 jobid |
| | | * @return {number} jobid |
| | | */ |
| | | function startJob(tag, execTime, cancelBeforeRunning) { |
| | | return utilsWrapper.startJob(tag, execTime, cancelBeforeRunning); |
| | |
| | | |
| | | /** |
| | | * 取消所有定时任务 |
| | | * @return bool true 代表有任务被取消 |
| | | * @return {boolean} true 代表有任务被取消 |
| | | * |
| | | */ |
| | | function cancelAllJob() { |
| | | return utilsWrapper.cancelAllJob(); |
| | |
| | | /** |
| | | * 通过tag对定时任务进行取消 |
| | | * @param tag tag名称 |
| | | * @return bool true 代表有任务被取消 |
| | | * @return {boolean} true 代表有任务被取消 |
| | | */ |
| | | function cancelJob(tag) { |
| | | return utilsWrapper.cancelJob(tag); |
| | |
| | | |
| | | /** |
| | | * 取得所有的定时任务标签 |
| | | * @return 字符串数组或者null |
| | | * @return {null|JSON} 字符串数组或者null |
| | | */ |
| | | function getAllJobTag() { |
| | | var x = utilsWrapper.getAllJobTag(); |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @param nodeinfo |
| | | * @return {boolean} |
| | | */ |
| | | function clickExNodeInfo(nodeinfo) { |
| | | if (isAccMode()) { |
| | | return acEvent.clickExNodeInfo(nodeinfo.nid); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param nodeinfo |
| | | * @return {boolean} |
| | | */ |
| | | function setFocusNodeInfo(nodeinfo) { |
| | | if (isAccMode()) { |
| | | return acEvent.setFocusNodeInfo(nodeinfo.nid); |
| | | } else if (isAgentMode()) { |
| | | return agentEvent.setFocusNodeInfo(nodeinfo.nid); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param nodeinfo |
| | | * @return {boolean} |
| | | */ |
| | | function longClickExNodeInfo(nodeinfo) { |
| | | if (isAccMode()) { |
| | | return acEvent.longClickExNodeInfo(nodeinfo.nid); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @param nodeinfo |
| | | * @return {boolean} |
| | | */ |
| | | function scrollForwardNodeInfo(nodeinfo) { |
| | | if (isAccMode()) { |
| | | return acEvent.scrollForwardNodeInfo(nodeinfo.nid); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param nodeinfo |
| | | * @return {boolean} |
| | | */ |
| | | function scrollBackwardNodeInfo(nodeinfo) { |
| | | if (isAccMode()) { |
| | | return acEvent.scrollBackwardNodeInfo(nodeinfo.nid); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param nodeinfo |
| | | * @return {boolean} |
| | | */ |
| | | function scrollLeftNodeInfo(nodeinfo) { |
| | | if (isAccMode()) { |
| | | return acEvent.scrollLeftNodeInfo(nodeinfo.nid); |
| | |
| | | /** |
| | | * 读取res文件夹中的资源文件,并返 AutoImage 图片对象 |
| | | * @param fileName 文件名称,不要加res前缀 |
| | | * @return AutoImage 如果是null代表没内容 |
| | | * @return {null|AutoImage} 如果是null代表没内容 |
| | | */ |
| | | function readResAutoImage(fileName) { |
| | | return image.readResAutoImage(fileName); |
| | |
| | | /** |
| | | * 获取最近的节点事件处罚的时间,可通过时间判断节点服务是否可用 |
| | | * |
| | | * @return {long} 长整型时间,毫秒级别 |
| | | * @return {number} 长整型时间,毫秒级别 |
| | | */ |
| | | function lastNodeEventTime() { |
| | | |
| | |
| | | * @param x x坐标 |
| | | * @param y y坐标 |
| | | * @param delay 长按时间 毫秒 |
| | | * @return {bool} true 成功 false 失败 |
| | | * @return {boolean} true 成功 false 失败 |
| | | */ |
| | | |
| | | function press(x, y, delay) { |
| | |
| | | * 适合EC 7.4.0+ |
| | | * @param x x坐标 |
| | | * @param y y坐标 |
| | | * @return 布尔型 true 代表成功 false代表失败 |
| | | * @return {boolean} true 代表成功 false代表失败 |
| | | */ |
| | | function touchDown(x, y) { |
| | | if (isAccMode()) { |
| | |
| | | * 适合EC 7.4.0+ |
| | | * @param x x坐标 |
| | | * @param y y坐标 |
| | | * @return 布尔型 true 代表成功 false代表失败 |
| | | * @return {boolean} true 代表成功 false代表失败 |
| | | */ |
| | | function touchMove(x, y) { |
| | | if (isAccMode()) { |
| | |
| | | * 适合EC 7.4.0+ |
| | | * @param x x坐标 |
| | | * @param y y坐标 |
| | | * @return 布尔型 true 代表成功 false代表失败 |
| | | * @return {boolean} true 代表成功 false代表失败 |
| | | */ |
| | | function touchUp(x, y) { |
| | | if (isAccMode()) { |