|
|
AIWORKÈí¼þ½Úµã·½·¨ÎްʾÀý×Ó
- // Android APP×Ô¶¯»¯ºËÐÄAPIÐÞÕý°æ - AIWROK IDE ¿ª·¢ (ES5 ¼æÈÝ)
- // ½Úµã·½·¨ÎްʾÀý×Ó
- // ES5ϵͳ°²×¿ JavaScriptÒýÇæRhino
- // // 🍎½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
- // AIWROK IDE ´°¿ÚÉèÖÃ
- printl(logWindow.setAlpha(208));
- logWindow.setHeight(2800);
- logWindow.setWidth(2000);
- printl("=== Android APP×Ô¶¯»¯ºËÐÄAPIÐÞÕý°æ ===");
- print.log("=== Android APP×Ô¶¯»¯ºËÐÄAPIÐÞÕý°æ ===");
- // ==================== 1. »ù´¡API²âÊÔ ====================
- printl("");
- print.log("=== 1. »ù´¡API²âÊÔ ===");
- printl("1.1 ÉèÖÃÏêϸģʽ²¢ËÑË÷...");
- auto.setDetailedModel();
- var node = auto.nodeSearch(1000);
- printl("ÏêϸģʽËÑË÷½á¹û½ÚµãÊý:", node != '' ? node.count() : 0);
- print.log("auto.setDetailedModel() + auto.nodeSearch(1000): Íê³É");
- printl("");
- printl("1.2 »ñÈ¡µ±Ç°¿Éµã»÷½Úµã...");
- var clickNode = auto.getClickNode();
- printl("µ±Ç°¿Éµã»÷½Úµã:", clickNode.getDesc());
- print.log("auto.getClickNode(): Íê³É");
- if (clickNode != '') {
- printl("¿Éµã»÷½ÚµãÐÅÏ¢:");
- printl(" Îı¾:", clickNode.getDesc());
- printl(" ID:", clickNode.getID());
- printl(" ˈ̞:", clickNode.getClassName());
- printl(" ±ß½ç:", clickNode.getBounds());
- }
- // ÕýÈ··½Ê½£ºÊ¹ÓÃnodeSearchɸѡ¿Éµã»÷½Úµã
- printl("");
- printl("1.3 ËÑË÷ËùÓпɵã»÷½Úµã...");
- var allClickable = auto.nodeSearch(1000).clickable(true);
- printl("ËùÓпɵã»÷½ÚµãÊýÁ¿:", allClickable != '' ? allClickable.count() : 0);
- if (allClickable != '' && allClickable.count() > 0) {
- printl("ǰ3¸ö¿Éµã»÷½Úµã:");
- var displayCount = Math.min(3, allClickable.count());
- for (var i = 0; i < displayCount; i++) {
- var clickElement = allClickable.getNode(i);
- printl(" ", (i + 1), ".", clickElement.getDesc());
- }
- }
- printl("");
- printl("1.4 ²âÊÔgetRooNode...");
- try {
- var rootNode = auto.getRooNode();
- if (rootNode != '' && rootNode != null) {
- printl("getRooNode½á¹û: ³É¹¦");
- printl("¸ù½ÚµãÐÅÏ¢:", rootNode.getDesc());
- } else {
- printl("getRooNode½á¹û: ·µ»Ø¿ÕÖµ");
- }
- } catch (e) {
- printl("getRooNode½á¹û: API²»´æÔÚ");
- printl("´íÎó:", e.toString());
- }
- printl("");
- printl("1.5 Ò³ÃæË¢ÐÂ...");
- auto.refresh();
- printl("Ò³ÃæË¢ÐÂÍê³É");
- var afterRefresh = auto.nodeSearch(1000);
- printl("ˢкó½ÚµãÊýÁ¿:", afterRefresh != '' ? afterRefresh.count() : 0);
- printl("");
- printl("1.6 ÉèÖüòµ¥Ä£Ê½...");
- auto.setSimpleModel();
- var simpleNode = auto.nodeSearch(1000);
- printl("¼òµ¥Ä£Ê½½ÚµãÊýÁ¿:", simpleNode != '' ? simpleNode.count() : 0);
- print.log("auto.setSimpleModel() + auto.nodeSearch(1000): Íê³É");
- // ==================== 2. ʵ¼ÊÓ¦Óó¡¾° ====================
- printl("");
- print.log("=== 2. ʵ¼ÊÓ¦Óó¡¾° ===");
- printl("2.1 Îļþ¹ÜÀíÆ÷»ù´¡²Ù×÷...");
- // Çл»µ½Ïêϸģʽ
- auto.setDetailedModel();
- // ²éÕÒËùÓпɽ»»¥ÔªËØ
- var interactiveElements = auto.nodeSearch(1000).clickable(true);
- printl("¿É½»»¥ÔªËØ×ÜÊý:", interactiveElements != '' ? interactiveElements.count() : 0);
- if (interactiveElements != '' && interactiveElements.count() > 0) {
- printl("ǰ5¸ö¿É½»»¥ÔªËØ:");
- var displayCount = Math.min(5, interactiveElements.count());
- for (var i = 0; i < displayCount; i++) {
- var element = interactiveElements.getNode(i);
- printl(" ", (i + 1), ".", element.getDesc(), " [", element.getID(), "]");
- }
- }
- printl("");
- printl("2.2 ²éÕÒÌØ¶¨ÀàÐ͵Ŀؼþ...");
- // ²éÕÒËùÓа´Å¥
- var buttonElements = auto.nodeSearch(1000).className("android.widget.Button");
- printl("°´Å¥ÔªËØÊýÁ¿:", buttonElements != '' ? buttonElements.count() : 0);
- // ²éÕÒËùÓÐÎı¾ÊÓͼ
- var textViewElements = auto.nodeSearch(1000).className("android.widget.TextView");
- printl("Îı¾ÊÓͼÊýÁ¿:", textViewElements != '' ? textViewElements.count() : 0);
- printl("");
- printl("2.3 ²ã¼¶·ÖÎö...");
- var layoutElements = auto.nodeSearch(1000).classIncludes("Layout");
- if (layoutElements != '' && layoutElements.count() > 0) {
- printl("²¼¾ÖÔªËØ·ÖÎö (ǰ3¸ö):");
- var displayCount = Math.min(3, layoutElements.count());
- for (var i = 0; i < displayCount; i++) {
- var layout = layoutElements.getNode(i);
- printl(" ²¼¾Ö", (i + 1), ":", layout.getClassName());
- printl(" Éî¶È:", layout.getDepth());
- printl(" Ãæ»ý:", layout.getArea());
- printl(" ±ß½ç:", layout.getBounds());
- }
- }
- // ==================== 3. ʵÓú¯Êý ====================
- printl("");
- print.log("=== 3. ½Úµã·½·¨ÏêϸÑÝʾ ===");
- printl("");
- printl("3.1 ½ÚµãÊôÐÔ»ñÈ¡·½·¨ÑÝʾ...");
- // »ñȡһ¸ö²âÊÔ½Úµã
- var testElement = auto.nodeSearch(1000).className("android.widget.TextView");
- if (testElement != '' && testElement.count() > 0) {
- var node = testElement.getNode(0);
-
- printl("=== ½ÚµãÊôÐÔ»ñÈ¡·½·¨ ===");
- printl("1. getDesc() - ÃèÊöÐÅÏ¢:", node.getDesc());
- printl("2. getID() - ID:", node.getID());
- printl("3. getClassName() - ˈ̞:", node.getClassName());
- printl("4. °üÃûÊôÐÔ: °üÃûÐÅϢͨ¹ý½ÚµãÊôÐÔ»ñÈ¡£¨·ÇgetPackage·½·¨£©");
- printl("5. getDepth() - Éî¶È:", node.getDepth());
- printl("6. getIndex() - Ë÷Òý:", node.getIndex());
- printl("7. getBounds() - ±ß½ç:", node.getBounds());
- printl("8. getCenter() - ÖÐÐĵã:", node.getCenter());
- printl("9. getArea() - Ãæ»ý:", node.getArea());
- printl("10. °Ù·Ö±È±ß½ç: ͨ¹ý½ÚµãÊôÐÔ»ñÈ¡£¨·ÇgetBoundsPercent·½·¨£©");
- printl("11. °Ù·Ö±ÈÖÐÐÄ: ͨ¹ý½ÚµãÊôÐÔ»ñÈ¡£¨·ÇgetCenterPercent·½·¨£©");
- printl("12. °Ù·Ö±ÈÃæ»ý: ͨ¹ý½ÚµãÊôÐÔ»ñÈ¡£¨·ÇgetAreaPercent·½·¨£©");
-
- printl("");
- printl("=== ½Úµã״̬·½·¨ ===");
- printl("1. isClickable() - ¿Éµã»÷:", node.isClickable());
- printl("2. isLongClickable() - ¿É³¤°´:", node.isLongClickable());
- printl("3. isScrollable() - ¿É¹ö¶¯:", node.isScrollable());
- printl("4. isCheckable() - ¿É¹´Ñ¡:", node.isCheckable());
- printl("5. isChecked() - Òѹ´Ñ¡:", node.isChecked());
- printl("6. isEnabled() - ÆôÓÃ״̬:", node.isEnabled());
- printl("7. isFocusable() - ¿É»ñµÃ½¹µã:", node.isFocusable());
- printl("8. isFocused() - ÒÑ»ñµÃ½¹µã:", node.isFocused());
- printl("9. isPassword() - ÃÜÂë×Ö¶Î:", node.isPassword());
- printl("10. isSelected() - ÒÑÑ¡ÖÐ:", node.isSelected());
- printl("11. isVisibleToUser() - Óû§¿É¼û:", node.isVisibleToUser());
- printl("12. isEditable() - ¿É±à¼:", node.isEditable());
-
- printl("");
- printl("=== ½Úµã²ã¼¶·½·¨ ===");
- printl("1. getParent() - ¸¸½Úµã:");
- var parent = node.getParent();
- if (parent != '' && parent != null) {
- printl(" ¸¸½ÚµãÃèÊö:", parent.getDesc());
- printl(" ¸¸½ÚµãÀàÃû:", parent.getClassName());
- } else {
- printl(" ÎÞ¸¸½Úµã");
- }
-
- printl("2. getChildCount() - ×Ó½ÚµãÊýÁ¿:", node.getChildCount());
- printl("3. getChildren() - »ñÈ¡ËùÓÐ×Ó½Úµã:");
- var children = node.getChildren();
- if (children != '' && children != null && children.count() > 0) {
- printl(" ×Ó½ÚµãÊýÁ¿:", children.count());
- printl(" µÚÒ»¸ö×Ó½Úµã:", children.getNode(0).getDesc());
- } else {
- printl(" ÎÞ×Ó½Úµã");
- }
-
- printl("");
- printl("=== ½Úµã²Ù×÷·½·¨ ===");
- printl("1. click() - µã»÷²Ù×÷ÑÝʾ:");
- printl(" µ±Ç°½Úµã:", node.getDesc());
- printl(" Ö´ÐÐ click() ·½·¨");
- // node.click(); // ×¢Ê͵ôʵ¼Êµã»÷£¬±ÜÃâÒâÍâ²Ù×÷
-
- printl("2. clickPoint() - µã»÷×ø±ê:");
- var center = node.getCenter();
- printl(" ÖÐÐÄ×ø±ê:", center);
- printl(" Ö´ÐÐ clickPoint() ·½·¨");
- // node.clickPoint(); // ×¢Ê͵ôʵ¼Êµã»÷
-
- printl("3. longClick() - ³¤°´²Ù×÷:");
- printl(" Ö´ÐÐ longClick() ·½·¨");
- // node.longClick(); // ×¢Ê͵ôʵ¼Ê²Ù×÷
-
- printl("4. input() - ÊäÈë²Ù×÷:");
- printl(" Ö´ÐÐ input('test') ·½·¨");
- // node.input('test'); // ×¢Ê͵ôʵ¼ÊÊäÈë
- }
- printl("");
- printl("3.2 ½Úµã¼¯ºÏ²Ù×÷·½·¨ÑÝʾ...");
- var allElements = auto.nodeSearch(1000);
- if (allElements != '' && allElements.count() > 0) {
- printl("=== ½Úµã¼¯ºÏ·½·¨ ===");
- printl("1. count() - ×ÜÊýÁ¿:", allElements.count());
-
- printl("2. getNode(index) - »ñȡָ¶¨Ë÷Òý½Úµã:");
- var firstNode = allElements.getNode(0);
- if (firstNode != '' && firstNode != null) {
- printl(" µÚÒ»¸ö½Úµã:", firstNode.getDesc());
- }
-
- printl("3. getNodeList() - »ñÈ¡½ÚµãÁбí:");
- var nodeList = allElements.getNodeList();
- printl(" ½ÚµãÁÐ±í³¤¶È:", nodeList != '' ? nodeList.length : 0);
-
- printl("4. getDescList() - »ñÈ¡ÃèÊöÁбí:");
- var descList = allElements.getDescList();
- printl(" ÃèÊöÁÐ±í³¤¶È:", descList != '' ? descList.length : 0);
- if (descList != '' && descList.length > 0) {
- printl(" ǰ3¸öÃèÊö:", descList[0], descList[1], descList[2]);
- }
-
- printl("");
- printl("=== ½Úµã¹ýÂË·½·¨ ===");
-
- // ÑÝʾ¹ýÂË·½·¨
- printl("1. id() - °´ID¹ýÂË:");
- var idFiltered = allElements.id("com.estrongs.android.pop:id/rl_content");
- printl(" ¹ýÂ˽á¹ûÊýÁ¿:", idFiltered != '' ? idFiltered.count() : 0);
-
- printl("2. className() - °´ÀàÃû¹ýÂË:");
- var classFiltered = allElements.className("android.widget.TextView");
- printl(" TextViewÊýÁ¿:", classFiltered != '' ? classFiltered.count() : 0);
-
- printl("3. text() - °´Îı¾¹ýÂË:");
- var textFiltered = allElements.text("Îļþ");
- printl(" °üº¬'Îļþ'µÄÊýÁ¿:", textFiltered != '' ? textFiltered.count() : 0);
-
- printl("4. textIncludes() - °´Îı¾°üº¬¹ýÂË:");
- var textIncFiltered = allElements.textIncludes("ä¯ÀÀ");
- printl(" °üº¬'ä¯ÀÀ'µÄÊýÁ¿:", textIncFiltered != '' ? textIncFiltered.count() : 0);
-
- printl("5. clickable() - °´¿Éµã»÷״̬¹ýÂË:");
- var clickableFiltered = allElements.clickable(true);
- printl(" ¿Éµã»÷ÔªËØÊýÁ¿:", clickableFiltered != '' ? clickableFiltered.count() : 0);
-
- printl("6. depth() - °´Éî¶È¹ýÂË:");
- var depthFiltered = allElements.depth(1);
- printl(" Éî¶ÈΪ1µÄÔªËØÊýÁ¿:", depthFiltered != '' ? depthFiltered.count() : 0);
-
- printl("7. bounds() - °´±ß½ç¹ýÂË:");
- var boundsFiltered = allElements.bounds("[0,0][1080,1920]");
- printl(" Ö¸¶¨±ß½çµÄÔªËØÊýÁ¿:", boundsFiltered != '' ? boundsFiltered.count() : 0);
-
- printl("8. centerXIn() - °´X×ø±ê·¶Î§¹ýÂË:");
- var centerXFiltered = allElements.centerXIn(0, 1080);
- printl(" X×ø±ê·¶Î§0-1080µÄÔªËØÊýÁ¿:", centerXFiltered != '' ? centerXFiltered.count() : 0);
-
- printl("9. centerYIn() - °´Y×ø±ê·¶Î§¹ýÂË:");
- var centerYFiltered = allElements.centerYIn(0, 1920);
- printl(" Y×ø±ê·¶Î§0-1920µÄÔªËØÊýÁ¿:", centerYFiltered != '' ? centerYFiltered.count() : 0);
-
- printl("10. areaIn() - °´Ãæ»ý·¶Î§¹ýÂË:");
- var areaFiltered = allElements.areaIn(1000, 100000);
- printl(" Ãæ»ý1000-100000µÄÔªËØÊýÁ¿:", areaFiltered != '' ? areaFiltered.count() : 0);
-
- printl("11. classIncludes() - °´ÀàÃû°üº¬¹ýÂË:");
- var classIncFiltered = allElements.classIncludes("Layout");
- printl(" ÀàÃû°üº¬'Layout'µÄÊýÁ¿:", classIncFiltered != '' ? classIncFiltered.count() : 0);
- }
- printl("");
- printl("3.3 ¸ß¼¶½Úµã²Ù×÷ÑÝʾ...");
- printl("=== Á´Ê½µ÷ÓÃÑÝʾ ===");
- var chainedResult = auto.nodeSearch(1000)
- .className("android.widget.TextView")
- .clickable(true)
- .depth(2);
- printl("Á´Ê½µ÷Óýá¹ûÊýÁ¿:", chainedResult != '' ? chainedResult.count() : 0);
- if (chainedResult != '' && chainedResult.count() > 0) {
- printl("Á´Ê½µ÷ÓõÚÒ»¸ö½á¹û:", chainedResult.getNode(0).getDesc());
- }
- printl("");
- print.log("=== 4. ʵÓú¯Êý ===");
- printl("4.1 °²È«µã»÷º¯Êý...");
- function safeClickElement(text, timeout) {
- timeout = timeout || 2000;
-
- auto.setDetailedModel();
- var element = auto.nodeSearch(timeout).text(text).clickable(true);
-
- if (element != '' && element.count() > 0) {
- var target = element.getNode(0);
- printl("ÕÒµ½Ä¿±êÔªËØ:", text);
- printl(" ÔªËØID:", target.getID());
- printl(" ÔªËØÀàÃû:", target.getClassName());
-
- // Ö´Ðеã»÷
- target.click();
- printl("Òѵã»÷ÔªËØ:", text);
- return true;
- } else {
- printl("δÕÒµ½Ä¿±êÔªËØ:", text);
- return false;
- }
- }
- printl("");
- printl("3.2 Ò³Ãæ×´Ì¬¼à¿Ø...");
- function monitorPageChanges() {
- auto.setDetailedModel();
-
- var initialState = auto.nodeSearch(1000);
- var initialCount = initialState != '' ? initialState.count() : 0;
- printl("³õÊ¼Ò³Ãæ×´Ì¬ - ÔªËØÊýÁ¿:", initialCount);
-
- // µÈ´ýÒ»¶Îʱ¼ä
- java.lang.Thread.sleep(2000);
-
- var currentState = auto.nodeSearch(1000);
- var currentCount = currentState != '' ? currentState.count() : 0;
- printl("µ±Ç°Ò³Ãæ×´Ì¬ - ÔªËØÊýÁ¿:", currentCount);
-
- var change = currentCount - initialCount;
- printl("Ò³Ãæ±ä»¯:", change > 0 ? "Ôö¼ÓÁË" + change + "¸öÔªËØ" : change < 0 ? "¼õÉÙÁË" + Math.abs(change) + "¸öÔªËØ" : "Îޱ仯");
-
- return change;
- }
- var pageChange = monitorPageChanges();
- printl("");
- print.log("=== Android APP×Ô¶¯»¯ºËÐÄAPIÐÞÕý°æÍê³É ===");
- printl("💡 »ùÓÚʵ¼ÊÔËÐл·¾³µÄAPI£¬È·±£¼æÈÝÐÔ£¡");
- print.log("ËùÓÐÐÞÕý°æAPIʾÀýÒÑÍê³É£¡");
¸´ÖÆ´úÂë
|
|