|
|
¶¹°ü¶Ô»°²É¼¯Ê¾Àý
- // AIWROK ×Ô¶¯»¯Á÷³Ì£ºÆô¶¯¶¹°ü ¡ú ÊäÈëÎÊÌâ ¡ú µã»÷·¢ËÍ ¡ú µÈ´ýAI»Ø´ð ¡ú ²É¼¯»Ø´ðÄÚÈÝ ¡ú ±£´æµ½Îļþ
- // È«³ÌʹÓà agent.getXml() »ñÈ¡½çÃæÔ´Âë
- // °üÃû£ºcom.larus.nova£¨¶¹°ü£©
- //
- // ʹÓÃ˵Ã÷£º
- // 1. ÐÞ¸ÄÏ·½¡¾ÅäÖÃÇø¡¿ÖеÄ"Òª·¢Ë͵ÄÎÊÌâÁбí"
- // 2. ²É¼¯½á¹û±£´æµ½ /sdcard/¶¹°ü¶Ô»°¼Ç¼.txt
- print.log("===== ¶¹°ü¶Ô»°²É¼¯Á÷³ÌÆô¶¯ =====");
- print.time();
- // ========== ÅäÖÃÇø ==========
- var ¶¹°ü°üÃû = "com.larus.nova";
- // Êä³öÎļþ·¾¶
- var Êä³öÎļþ·¾¶ = "/sdcard/¶¹°ü¶Ô»°¼Ç¼.txt";
- // Òª·¢Ë͵ÄÎÊÌâÁÐ±í£¨°´Ë³Ðò·¢ËÍ£©
- var Òª·¢Ë͵ÄÎÊÌâÁбí = [
- "ÄãºÃ£¬ÇëÓÃÒ»¾ä»°½éÉÜÄã×Ô¼º",
- "Öйúƽ°²¹ÉƱ×î½ü×ßÊÆÈçºÎ£¿",
- "ÕÐÉÌÒøÐгÖÓÐ3ÄêÂô³öÐèÒª½»¹ÉϢ˰Âð£¿"
- ];
- // ·¢ËͺóµÈ´ýAI»Ø´ðµÄ×î´óÃëÊý£¨ÕûÌ峬ʱ£¬×10Ã룩
- var µÈ´ý»Ø´ð³¬Ê±Ãë = 10;
- // ¼ì²âµ½Ð»شð³öÏÖºó£¬Ôٵȴý¶àÉÙÃëÈûشð¾¡Á¿Êä³öÍêÕû£¨È»ºóÖ±½Ó·µ»Ø£©
- var »Ø´ðÊä³öµÈ´ýÃë = 8;
- // ÿ¸öÎÊÌâÖ®¼äµÄ¼ä¸ôÃëÊý
- var ÎÊÌâ¼ä¸ôÃë = 2;
- // ========== »ñÈ¡É豸ÐÅÏ¢ ==========
- var ÆÁÄ»¿í = screen.getScreenWidth();
- var ÆÁÄ»¸ß = screen.getScreenHeight();
- print.log("ÆÁÄ»³ß´ç£º" + ÆÁÄ»¿í + " x " + ÆÁÄ»¸ß);
- print.log("´úÀí״̬£º" + (agent.isOpen() ? "ÒÑ¿ªÆô" : "먦Æô"));
- // ========== ¹¤¾ßº¯Êý ==========
- // »ñÈ¡ UI XML ×Ö·û´®£¨Ê¹Óà agent.getXml()£¬Ç¿ÖÆ×ªÎª×Ö·û´®£©
- function »ñÈ¡UI() {
- var xml = agent.getXml();
- // agent.getXml() ·µ»Ø¶ÔÏó£¬ÐèÇ¿ÖÆ×ªÎª×Ö·û´®
- return "" + xml;
- }
- // ×Ö·û´®³¤¶È¼æÈݺ¯Êý£¨±ÜÃâ Java String ¶ÔÏó .length() ·½·¨ÎÊÌ⣩
- function ×Ö·û´®³¤¶È(s) {
- var str = "" + s;
- return str.length;
- }
- // HTMLʵÌå½âÂ루¶¹°üTextViewÖеĻ»ÐзûµÈ»á±»±àÂëΪ
- ' µÈ£©
- function ½âÂëHTMLʵÌå(s) {
- var str = "" + s;
- str = str.replace(/
- /g, "\n");
- str = str.replace(/
- /g, "\r");
- str = str.replace(/ /g, "\t");
- str = str.replace(/'/g, "'");
- str = str.replace(/"/g, '"');
- str = str.replace(/"/g, '"');
- str = str.replace(/'/g, "'");
- str = str.replace(/&/g, "&");
- str = str.replace(/</g, "<");
- str = str.replace(/>/g, ">");
- return str;
- }
- // ²É¼¯¶¹°ü message_list ÖÐËùÓÐ content_view Ï嵀 TextView Îı¾£¨¼´AI»Ø´ð£©
- // ²ÎÊý Ñϸñ¹ýÂË: true=Åųý¶ÌÎı¾°´Å¥µÈ, false=²»¹ýÂË£¨ÓÃÓÚ¼ì²âлشð³öÏÖ£¬¸üÁéÃô£©
- function ²É¼¯AI»Ø´ðÁбí(xml, Ñϸñ¹ýÂË) {
- if (Ñϸñ¹ýÂË === undefined) Ñϸñ¹ýÂË = true;
- var xmlStr = "" + xml;
- var »Ø´ðÁбí = [];
- // ¶¨Î» message_list ½Úµã
- var listIdx = xmlStr.indexOf('id/message_list"');
- if (listIdx === -1) {
- print.log("⚠ δÕÒµ½ÏûÏ¢Áбí½Úµã£¬¿ÉÄܲ»ÔÚ¶¹°ü¶Ô»°Ò³Ãæ");
- return »Ø´ðÁбí;
- }
- // ½ØÈ¡ message_list Ö®ºóµÄ²¿·Ö
- var ºóÃæ = xmlStr.substring(listIdx);
- // ±éÀúËùÓÐ content_view ½Úµã
- var λÖà = 0;
- while (true) {
- var cvIdx = ºóÃæ.indexOf('id/content_view"', λÖÃ);
- if (cvIdx === -1) break;
- // ´Ó content_view ÆðʼλÖýØÈ¡Ò»¶Î£¬ÕÒËüÄÚ²¿µÚÒ»¸öÓÐ·Ç¿Õ text µÄ TextView
- var ¶Î = ºóÃæ.substring(cvIdx);
- // ÕÒµ½ content_view ½Úµã¿ªÊ¼±êÇ©µÄ½áÊøÎ»Öà ">"
- var ±êÇ©½áÊø = ¶Î.indexOf(">");
- if (±êÇ©½áÊø === -1) break;
- var ×Ó¶Î = ¶Î.substring(±êÇ©½áÊø + 1);
- // ÔÚ×Ó¶ÎÖвéÕÒµÚÒ»¸öÓÐ·Ç¿Õ text µÄ TextView ½Úµã
- var Îı¾Æ¥Åä = ×Ó¶Î.match(/<node[^>]*?text="([^"]+)"[^>]*?class="android\.widget\.TextView"[^>]*?\/?>/);
- if (!Îı¾Æ¥Åä) {
- // ±¸Ñ¡Ë³Ðò£ºÏÈ class ÔÙ text
- Îı¾Æ¥Åä = ×Ó¶Î.match(/<node[^>]*?class="android\.widget\.TextView"[^>]*?text="([^"]+)"[^>]*?\/?>/);
- }
- if (Îı¾Æ¥Åä && Îı¾Æ¥Åä[1]) {
- var ÔʼÎı¾ = Îı¾Æ¥Åä[1];
- var ½âÂëÎı¾ = ½âÂëHTMLʵÌå(ÔʼÎı¾);
- if (Ñϸñ¹ýÂË) {
- // Ñϸñģʽ£ºÅųý°´Å¥Îݸ£¨¸´ÖÆ¡¢·ÖÏíµÈ£©£¬AI»Ø´ðÌØÕ÷£ºº¬»»ÐÐ »ò ³¤¶È>30
- if (½âÂëÎı¾.indexOf("\n") !== -1 || ×Ö·û´®³¤¶È(½âÂëÎı¾) > 30) {
- »Ø´ðÁбí.push(½âÂëÎı¾);
- }
- } else {
- // ¿íËÉģʽ£ºÖ»ÒªÓзǿÕÎı¾¾ÍË㣬ÓÃÓÚÁéÃô¼ì²âлشð³öÏÖ
- if (×Ö·û´®³¤¶È(½âÂëÎı¾) > 0) {
- »Ø´ðÁбí.push(½âÂëÎı¾);
- }
- }
- }
- λÖà = cvIdx + 30;
- }
- return »Ø´ðÁбí;
- }
- // ²éÕÒÊäÈë¿òÖÐÐÄ×ø±ê£¨resource-id º¬ input_text µÄ EditText£©
- function ²éÕÒÊäÈë¿òÖÐÐÄ(xml) {
- var xmlStr = "" + xml;
- var idx = xmlStr.indexOf('id/input_text"');
- if (idx === -1) return null;
- var ¶Î = xmlStr.substring(idx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (!m) return null;
- var x1 = parseInt(m[1]);
- var y1 = parseInt(m[2]);
- var x2 = parseInt(m[3]);
- var y2 = parseInt(m[4]);
- return {
- x: (x1 + x2) / 2,
- y: (y1 + y2) / 2
- };
- }
- // ²éÕÒ·¢ËͰ´Å¥×ø±ê
- // ¶¹°üÊäÈë¿òÓÒ²àµÄ action_speak ½Úµã£¬ÊäÈëÎÄ×Öºó»á±ä³É·¢ËͰ´Å¥
- // Ò²²éÕÒÎÄ×Ö"·¢ËÍ"»ò resource-id º¬ action_send µÄ½Úµã
- function ²éÕÒ·¢ËͰ´Å¥ÖÐÐÄ(xml) {
- var xmlStr = "" + xml;
- // 1. ÓÅÏȲéÕÒÎÄ×Ö"·¢ËÍ"
- var sendTextIdx = xmlStr.indexOf('text="·¢ËÍ"');
- if (sendTextIdx !== -1) {
- var ¶Î = xmlStr.substring(sendTextIdx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m) {
- return {
- x: (parseInt(m[1]) + parseInt(m[3])) / 2,
- y: (parseInt(m[2]) + parseInt(m[4])) / 2
- };
- }
- }
- // 2. ²éÕÒ resource-id º¬ action_send
- var sendIdIdx = xmlStr.indexOf('id/action_send"');
- if (sendIdIdx !== -1) {
- var ¶Î2 = xmlStr.substring(sendIdIdx);
- var m2 = ¶Î2.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m2) {
- return {
- x: (parseInt(m2[1]) + parseInt(m2[3])) / 2,
- y: (parseInt(m2[2]) + parseInt(m2[4])) / 2
- };
- }
- }
- // 3. ¶µµ×£ºÊ¹Óà action_speak ½Úµã×ø±ê£¨ÊäÈëÎÄ×Öºó¸Ã°´Å¥±äΪ·¢Ë͹¦ÄÜ£©
- var speakIdx = xmlStr.indexOf('id/action_speak"');
- if (speakIdx !== -1) {
- var ¶Î3 = xmlStr.substring(speakIdx);
- var m3 = ¶Î3.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m3) {
- return {
- x: (parseInt(m3[1]) + parseInt(m3[3])) / 2,
- y: (parseInt(m3[2]) + parseInt(m3[4])) / 2
- };
- }
- }
- return null;
- }
- // Õ³ÌùÎı¾µ½µ±Ç°½¹µãÊäÈë¿ò£¨¼ôÌù°å·¨£¬¼æÈÝÖÐÎÄ£©
- function Õ³ÌùÎı¾(Îı¾) {
- try {
- Clipboard.copy("" + Îı¾);
- } catch (e) {
- print.log("⚠ Clipboard.copy ʧ°Ü£º" + e.message);
- }
- sleep.millisecond(ºÁÃë = 300);
- // Ë«±£ÏÕ£ºÍ¨¹ý shell д¼ôÌù°å
- try {
- agent.shell("service call clipboard 3 i32 1 s16 '" + Îı¾ + "' i32 0");
- } catch (e2) {
- // ºöÂÔ´íÎó
- }
- sleep.millisecond(ºÁÃë = 300);
- // ´¥·¢Õ³Ìù£ºKEYCODE_PASTE = 279
- agent.shell("input keyevent 279");
- sleep.second(Ãë = 1);
- print.log("✓ ÒÑÕ³ÌùÎı¾£º" + Îı¾);
- }
- // ²éÕÒ²¢µã»÷AI»Ø´ðµ×²¿µÄÕ¹¿ª°´Å¥£¨ÏòϼýÍ·£©
- // ¶¹°ü³¤»Ø´ð»áÕÛµþÏÔʾ£¬ÐèÒªµã»÷Õ¹¿ª¼ýÍ·²ÅÄÜ¿´µ½ÍêÕûÄÚÈÝ
- // ´ÓXMLÖж¯Ì¬¶¨Î»£¬²»ÒÀÀµÓ²±àÂë×ø±ê
- function ²éÕÒ²¢µã»÷Õ¹¿ª°´Å¥(xml) {
- var xmlStr = "" + xml;
-
- // 1. ²éÕÒ content-desc º¬"Õ¹¿ª"»ò"¸ü¶à"µÄ°´Å¥
- var expandIdx = xmlStr.indexOf('content-desc="Õ¹¿ª"');
- if (expandIdx === -1) {
- expandIdx = xmlStr.indexOf('content-desc="¸ü¶à"');
- }
- if (expandIdx === -1) {
- expandIdx = xmlStr.indexOf('content-desc="ÊÕÆð"');
- }
-
- if (expandIdx !== -1) {
- var ¶Î = xmlStr.substring(expandIdx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m) {
- var x = (parseInt(m[1]) + parseInt(m[3])) / 2;
- var y = (parseInt(m[2]) + parseInt(m[4])) / 2;
- agent.click(x, y);
- print.log("✓ Òѵã»÷Õ¹¿ª°´Å¥£¨content-desc£©£¬×ø±ê(" + Math.round(x) + "," + Math.round(y) + ")");
- sleep.second(Ãë = 1);
- return true;
- }
- }
- // 2. ²éÕÒÎı¾"Õ¹¿ª"»ò"¸ü¶à"µÄ°´Å¥
- var textExpandIdx = xmlStr.indexOf('text="Õ¹¿ª"');
- if (textExpandIdx === -1) {
- textExpandIdx = xmlStr.indexOf('text="¸ü¶à"');
- }
- if (textExpandIdx !== -1) {
- var ¶Î2 = xmlStr.substring(textExpandIdx);
- var m2 = ¶Î2.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (m2) {
- var x2 = (parseInt(m2[1]) + parseInt(m2[3])) / 2;
- var y2 = (parseInt(m2[2]) + parseInt(m2[4])) / 2;
- agent.click(x2, y2);
- print.log("✓ Òѵã»÷Õ¹¿ª°´Å¥£¨Îı¾Æ¥Å䣩£¬×ø±ê(" + Math.round(x2) + "," + Math.round(y2) + ")");
- sleep.second(Ãë = 1);
- return true;
- }
- }
- // 3. ¶µµ×£º´ÓXML½âÎö×îºóÒ»¸ö content_view µÄµ×²¿ÖÐÐÄλÖã¨Õ¹¿ª¼ýͷͨ³£Ôڻشðµ×²¿Öм䣩
- var lastCVIdx = xmlStr.lastIndexOf('id/content_view"');
- if (lastCVIdx !== -1) {
- var cv¶Î = xmlStr.substring(lastCVIdx);
- var cvM = cv¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (cvM) {
- var cvX1 = parseInt(cvM[1]);
- var cvY1 = parseInt(cvM[2]);
- var cvX2 = parseInt(cvM[3]);
- var cvY2 = parseInt(cvM[4]);
- // µã»÷ content_view µ×²¿ÖмäλÖã¨Õ¹¿ª¼ýͷͨ³£ÔÚÕâÀ
- var centerX = (cvX1 + cvX2) / 2;
- var bottomY = cvY2 - 50; // ÉÔ΢ÍùÉÏÒ»µã£¬±Ü¿ª±ßÔµ
- agent.click(centerX, bottomY);
- print.log("✓ Òѵã»÷content_viewµ×²¿£¨¶µµ×Õ¹¿ª£©£¬×ø±ê(" + Math.round(centerX) + "," + Math.round(bottomY) + ")");
- sleep.second(Ãë = 1);
- return true;
- }
- }
- // 4. ×îÖÕ¶µµ×£ºÊ¹ÓÃÆÁÄ»°Ù·Ö±È×ø±ê£¨½ö×÷Ϊ×îºó±¸Ñ¡£©
- var pctX = ÆÁÄ»¿í / 2;
- var pctY = ÆÁÄ»¸ß * 0.85;
- agent.click(pctX, pctY);
- print.log("✓ Òѵã»÷ÆÁÄ»µ×²¿£¨×îÖÕ¶µµ×£©£¬×ø±ê(" + Math.round(pctX) + "," + Math.round(pctY) + ")");
- sleep.second(Ãë = 1);
- return true;
- }
- // ´ÓXML½âÎö message_list µÄ±ß½ç£¬È»ºóÔÚÆäÖ묶¯µ½µ×²¿
- // ²»ÒÀÀµÓ²±àÂë×ø±ê£¬»»ÊÖ»úÒ²ÄÜÔËÐÐ
- function »¬¶¯ÏûÏ¢ÁÐ±íµ½µ×²¿(xml) {
- var xmlStr = "" + xml;
- var listIdx = xmlStr.indexOf('id/message_list"');
- if (listIdx === -1) {
- print.log("⚠ δÕÒµ½message_list£¬Ê¹ÓÃÆÁÄ»°Ù·Ö±È»¬¶¯");
- agent.swip(ÆÁÄ»¿í / 2, ÆÁÄ»¸ß * 0.3, ÆÁÄ»¿í / 2, ÆÁÄ»¸ß * 0.8, 500);
- return;
- }
- var ¶Î = xmlStr.substring(listIdx);
- var m = ¶Î.match(/bounds="\[(\d+),(\d+)\]\[(\d+),(\d+)\]"/);
- if (!m) {
- print.log("⚠ δÕÒµ½message_list±ß½ç£¬Ê¹ÓÃÆÁÄ»°Ù·Ö±È»¬¶¯");
- agent.swip(ÆÁÄ»¿í / 2, ÆÁÄ»¸ß * 0.3, ÆÁÄ»¿í / 2, ÆÁÄ»¸ß * 0.8, 500);
- return;
- }
- var x1 = parseInt(m[1]);
- var y1 = parseInt(m[2]);
- var x2 = parseInt(m[3]);
- var y2 = parseInt(m[4]);
- // ÔÚ message_list ÇøÓòÄÚ»¬¶¯£º´ÓÉϰ벿·Ö»¬µ½Ï°벿·Ö
- var startX = (x1 + x2) / 2;
- var startY = y1 + (y2 - y1) * 0.2; // ÇøÓòÉÏ·½20%λÖÃ
- var endX = startX;
- var endY = y1 + (y2 - y1) * 0.8; // ÇøÓòÏ·½20%λÖÃ
- agent.swip(startX, startY, endX, endY, 500);
- print.log("✓ ÒÑÔÚmessage_listÄÚ»¬¶¯£¬ÇøÓò[" + x1 + "," + y1 + "][" + x2 + "," + y2 + "]");
- }
- // µÈ´ýAI»Ø´ðÍê³É
- // Âß¼£º
- // ½×¶Î1£º¿íËɼì²â - µÈ´ý×îºóÒ»Ìõ»Ø´ðÎı¾±ä»¯£¨Ð»شð³öÏÖ£©
- // ½×¶Î2£º¼ì²âµ½Ð»شðºó£¬Ïȵã»÷Õ¹¿ª°´Å¥£¬Ôٵȴý»Ø´ðÊä³öµÈ´ýÃ룬ȻºóÖ±½Ó·µ»Ø
- // ³¬Ê±¶µµ×£ºÈôÕûÌ峬ʱµ«Äܲɵ½·Ç¿ÕÎı¾£¬Ò²·µ»Øµ±Ç°ÄÚÈÝ
- // ²ÎÊý£º·¢ËÍǰµÄ×îºóÒ»ÌõAI»Ø´ðÎı¾£¨ÓÃÓڶԱȼì²âлشð£©
- // ·µ»Ø£ºÐ»شðµÄÎı¾ÄÚÈÝ
- function µÈ´ýAI»Ø´ðÍê³É(·¢ËÍǰµÄ×îºóÎı¾) {
- var ÒѺÄʱ = 0;
- var ¼ì²é¼ä¸ôÃë = 2;
- var ÒѼì²âµ½Ð»شð = false;
- var ¼ì²âµ½µÄʱ¼äµã = 0;
- var Òѵã»÷Õ¹¿ª°´Å¥ = false;
- while (ÒѺÄʱ < µÈ´ý»Ø´ð³¬Ê±Ãë) {
- sleep.second(Ãë = ¼ì²é¼ä¸ôÃë);
- ÒѺÄʱ += ¼ì²é¼ä¸ôÃë;
- var xml = »ñÈ¡UI();
- if (!ÒѼì²âµ½Ð»شð) {
- // ½×¶Î1£º¿íËÉģʽ¼ì²âлشðÊÇ·ñ³öÏÖ
- var ¿íËÉÁбí = ²É¼¯AI»Ø´ðÁбí(xml, false);
- if (¿íËÉÁбí.length === 0) {
- continue;
- }
- var µ±Ç°×îºóÎı¾ = ¿íËÉÁбí[¿íËÉÁбí.length - 1];
- if (µ±Ç°×îºóÎı¾ !== ·¢ËÍǰµÄ×îºóÎı¾ && ×Ö·û´®³¤¶È(µ±Ç°×îºóÎı¾) > 0) {
- print.log("✓ ¼ì²âµ½Ð»شð³öÏÖ£¨" + ÒѺÄʱ + "Ã룩£¬µÈ´ý" + »Ø´ðÊä³öµÈ´ýÃë + "Ãëºó²É¼¯");
- ÒѼì²âµ½Ð»شð = true;
- ¼ì²âµ½µÄʱ¼äµã = ÒѺÄʱ;
- }
- } else {
- // ½×¶Î2£ºÒѼì²âµ½Ð»شð
- var Òѵȴý = ÒѺÄʱ - ¼ì²âµ½µÄʱ¼äµã;
-
- // Ïȵã»÷Õ¹¿ª°´Å¥£¨Ö»µã»÷Ò»´Î£©
- if (!Òѵã»÷Õ¹¿ª°´Å¥ && Òѵȴý >= 2) {
- ²éÕÒ²¢µã»÷Õ¹¿ª°´Å¥(xml);
- Òѵã»÷Õ¹¿ª°´Å¥ = true;
- }
-
- // ÔٵȻشðÊä³öµÈ´ýÃëºóÖ±½Ó·µ»Ø
- if (Òѵȴý >= »Ø´ðÊä³öµÈ´ýÃë) {
- var ÑϸñÁбí = ²É¼¯AI»Ø´ðÁбí(xml, true);
- if (ÑϸñÁбí.length > 0) {
- var ×îÖջشð = ÑϸñÁбí[ÑϸñÁбí.length - 1];
- if (×îÖջشð !== ·¢ËÍǰµÄ×îºóÎı¾ && ×Ö·û´®³¤¶È(×îÖջشð) > 0) {
- print.log("✓ Òѵȴý" + Òѵȴý + "Ã룬·µ»Ø²É¼¯½á¹û");
- return ×îÖջشð;
- }
- }
- // Ñϸñģʽû²Éµ½£¬ÓÿíËÉģʽ
- var ¿íËÉÁбí2 = ²É¼¯AI»Ø´ðÁбí(xml, false);
- if (¿íËÉÁбí2.length > 0) {
- var ×îÖջشð2 = ¿íËÉÁбí2[¿íËÉÁбí2.length - 1];
- if (×îÖջشð2 !== ·¢ËÍǰµÄ×îºóÎı¾ && ×Ö·û´®³¤¶È(×îÖջشð2) > 5) {
- print.log("✓ Òѵȴý" + Òѵȴý + "Ã루¿íËÉģʽ£©£¬·µ»Ø²É¼¯½á¹û");
- return ×îÖջشð2;
- }
- }
- }
- }
- }
- // ³¬Ê±¶µµ×£º¾¡Á¿·µ»Øµ±Ç°Äܲɼ¯µ½µÄ×îºóÒ»Ìõ»Ø´ð
- print.log("⚠ µÈ´ýAI»Ø´ð³¬Ê±£¨" + µÈ´ý»Ø´ð³¬Ê±Ãë + "Ã룩£¬³¢ÊÔ·µ»Øµ±Ç°ÄÚÈÝ");
- var xml = »ñÈ¡UI();
- var ¶µµ×Áбí = ²É¼¯AI»Ø´ðÁбí(xml, true);
- if (¶µµ×Áбí.length > 0) {
- var ¶µµ×Îı¾ = ¶µµ×Áбí[¶µµ×Áбí.length - 1];
- if (¶µµ×Îı¾ !== ·¢ËÍǰµÄ×îºóÎı¾) {
- print.log("✓ ³¬Ê±¶µµ×£º·µ»Øµ±Ç°²É¼¯µ½µÄ»Ø´ð");
- return ¶µµ×Îı¾;
- }
- }
- var ¶µµ×¿íËÉ = ²É¼¯AI»Ø´ðÁбí(xml, false);
- if (¶µµ×¿íËÉ.length > 0) {
- var ¶µµ×Îı¾2 = ¶µµ×¿íËÉ[¶µµ×¿íËÉ.length - 1];
- if (¶µµ×Îı¾2 !== ·¢ËÍǰµÄ×îºóÎı¾ && ×Ö·û´®³¤¶È(¶µµ×Îı¾2) > 5) {
- print.log("✓ ³¬Ê±¶µµ×£¨¿íËÉ£©£º·µ»Øµ±Ç°²É¼¯µ½µÄ»Ø´ð");
- return ¶µµ×Îı¾2;
- }
- }
- return null;
- }
- // »ñÈ¡µ±Ç°Ò³Ãæ×îºóÒ»ÌõAI»Ø´ðÎı¾£¨ÓÃÓÚ·¢ËÍǰ¼Ç¼»ùÏߣ©
- function »ñÈ¡µ±Ç°×îºóAI»Ø´ð(xml) {
- var »Ø´ðÁбí = ²É¼¯AI»Ø´ðÁбí(xml);
- if (»Ø´ðÁбí.length === 0) return "";
- return »Ø´ðÁбí[»Ø´ðÁбí.length - 1];
- }
- // ¸ñʽ»¯¶Ô»°ÄÚÈÝÊä³ö
- function ¸ñʽ»¯¶Ô»°(¶Ô»°Áбí) {
- var Êä³ö = "";
- Êä³ö += "========================================\n";
- Êä³ö += "¶¹°ü¶Ô»°²É¼¯¼Ç¼\n";
- Êä³ö += "²É¼¯Ê±¼ä£º" + new Date().toString() + "\n";
- Êä³ö += "¶Ô»°ÂÖÊý£º" + ¶Ô»°Áбí.length + "\n";
- Êä³ö += "========================================\n\n";
- for (var i = 0; i < ¶Ô»°Áбí.length; i++) {
- var ¶Ô»° = ¶Ô»°Áбí[i];
- if (¶Ô»°.½ÇÉ« === "Óû§") {
- Êä³ö += "¡¾Óû§ÌáÎÊ " + (i + 1) + "¡¿\n";
- } else {
- Êä³ö += "¡¾¶¹°ü»Ø´ð " + (i + 1) + "¡¿\n";
- }
- Êä³ö += ¶Ô»°.ÄÚÈÝ + "\n";
- Êä³ö += "----------------------------------------\n\n";
- }
- Êä³ö += "\n===== ²É¼¯½áÊø =====\n";
- return Êä³ö;
- }
- // дÈëÎļþ£¨UTF-8 BOM¸ñʽ£¬¼æÈÝWindows¼Çʱ¾£©
- function дÈëÎļþ(Îļþ·¾¶, ÄÚÈÝ) {
- try {
- var fos = new java.io.FileOutputStream(Îļþ·¾¶);
- var osw = new java.io.OutputStreamWriter(fos, "UTF-8");
- osw.write('\ufeff');
- osw.write(ÄÚÈÝ);
- osw.flush();
- osw.close();
- fos.close();
- print.log("✓ ÒÑдÈëÎļþ£¨UTF-8 BOM£©£º" + Îļþ·¾¶);
-
- var catResult = agent.shell("cat " + Îļþ·¾¶ + " | head -3");
- print.log("✓ catÑéÖ¤½á¹û£º" + catResult);
-
- var fileSize = agent.shell("ls -la " + Îļþ·¾¶);
- print.log("✓ ÎļþÐÅÏ¢£º" + fileSize);
-
- return true;
- } catch (e) {
- print.log("⚠ UTF-8 BOMдÈëÒì³££º" + e.message);
- }
- try {
- var fos2 = new java.io.FileOutputStream(Îļþ·¾¶);
- fos2.write(239);
- fos2.write(187);
- fos2.write(191);
- fos2.write(ÄÚÈÝ.getBytes("UTF-8"));
- fos2.close();
- print.log("✓ ÒÑдÈëÎļþ£¨×Ö½ÚдÈëBOM£©£º" + Îļþ·¾¶);
- return true;
- } catch (e2) {
- print.log("⚠ ×Ö½ÚдÈëÒì³££º" + e2.message);
- }
- print.log("✗ дÈëÎļþʧ°Ü£º" + Îļþ·¾¶);
- return false;
- }
- // ========== Ö÷Á÷³Ì¿ªÊ¼ ==========
- // ²½Öè1£ºÆô¶¯¶¹°üAPP
- print.log("\n========== ²½Öè1£ºÆô¶¯¶¹°üAPP ==========");
- try {
- app.openApp(¶¹°ü°üÃû);
- print.log("✓ ÒÑÆô¶¯¶¹°ü");
- } catch (e) {
- print.log("⚠ Æô¶¯Ê§°Ü£º" + e.message);
- }
- sleep.second(Ãë = 5);
- // ²½Öè2£ºÈ·ÈϽøÈë¶Ô»°Ò³Ãæ
- print.log("\n========== ²½Öè2£ºÈ·ÈϽøÈë¶Ô»°Ò³Ãæ ==========");
- var xml = »ñÈ¡UI();
- if (xml.indexOf("message_list") === -1) {
- print.log("⚠ µ±Ç°Ò³Ãæ¿ÉÄܲ»ÊǶ¹°ü¶Ô»°Ò³£¬Ôٴεȴý");
- sleep.second(Ãë = 3);
- xml = »ñÈ¡UI();
- }
- if (xml.indexOf("message_list") !== -1) {
- print.log("✓ ÒѽøÈë¶¹°ü¶Ô»°Ò³Ãæ");
- } else {
- print.log("⚠ δ¼ì²âµ½ÏûÏ¢ÁÐ±í£¬¼ÌÐø³¢ÊÔ");
- }
- // ²½Öè3£ºÑ»··¢ËÍÎÊÌâ²¢²É¼¯»Ø´ð
- print.log("\n========== ²½Öè3£ºÑ»··¢ËÍÎÊÌâ²¢²É¼¯»Ø´ð ==========");
- // ÍêÕû¶Ô»°ÁÐ±í£¨°üº¬Óû§ÎÊÌâºÍAI»Ø´ð£©
- var ÍêÕû¶Ô»° = [];
- // ÏȲɼ¯µ±Ç°Ò³ÃæÒÑÓеÄAI»Ø´ð
- var ÒÑÓлشð = ²É¼¯AI»Ø´ðÁбí(xml);
- print.log("✓ µ±Ç°Ò³ÃæÒÑÓÐAI»Ø´ðÊýÁ¿£º" + ÒÑÓлشð.length);
- for (var i = 0; i < ÒÑÓлشð.length; i++) {
- ÍêÕû¶Ô»°.push({
- ½ÇÉ«: "AI",
- ÄÚÈÝ: ÒÑÓлشð[i]
- });
- }
- // ¿ªÊ¼·¢ËÍÎÊÌâ
- for (var q = 0; q < Òª·¢Ë͵ÄÎÊÌâÁбí.length; q++) {
- var µ±Ç°ÎÊÌâ = Òª·¢Ë͵ÄÎÊÌâÁбí[q];
- print.log("\n---- µÚ " + (q + 1) + " / " + Òª·¢Ë͵ÄÎÊÌâÁбí.length + " ¸öÎÊÌâ ----");
- print.log("ÎÊÌ⣺" + µ±Ç°ÎÊÌâ);
- // 3.1 ÖØÐ»ñÈ¡UI£¬¶¨Î»ÊäÈë¿ò
- xml = »ñÈ¡UI();
- var ÊäÈë¿ò = ²éÕÒÊäÈë¿òÖÐÐÄ(xml);
- if (!ÊäÈë¿ò) {
- print.log("⚠ δÕÒµ½ÊäÈë¿ò£¬Ìø¹ý´ËÎÊÌâ");
- sleep.second(Ãë = ÎÊÌâ¼ä¸ôÃë);
- continue;
- }
- // 3.2 ¼Ç¼·¢ËÍǰµÄ×îºóÒ»ÌõAI»Ø´ðÎı¾£¨×÷Ϊ¼ì²âлشðµÄ»ùÏߣ©
- var ·¢ËÍǰ×îºóÎı¾ = »ñÈ¡µ±Ç°×îºóAI»Ø´ð(xml);
- // 3.3 µã»÷ÊäÈë¿ò»ñÈ¡½¹µã
- agent.click(ÊäÈë¿ò.x, ÊäÈë¿ò.y);
- sleep.second(Ãë = 1);
- // 3.4 Õ³ÌùÎÊÌâÎı¾
- Õ³ÌùÎı¾(µ±Ç°ÎÊÌâ);
- // 3.5 ÖØÐ»ñÈ¡UI£¬²éÕÒ·¢ËͰ´Å¥
- xml = »ñÈ¡UI();
- var ·¢ËͰ´Å¥ = ²éÕÒ·¢ËͰ´Å¥ÖÐÐÄ(xml);
- if (·¢ËͰ´Å¥) {
- agent.click(·¢ËͰ´Å¥.x, ·¢ËͰ´Å¥.y);
- print.log("✓ Òѵã»÷·¢ËͰ´Å¥");
- } else {
- // ¶µµ×£º°´»Ø³µ¼ü·¢ËÍ
- agent.shell("input keyevent 66");
- print.log("⚠ δÕÒµ½·¢ËͰ´Å¥£¬Òѳ¢ÊÔ°´»Ø³µ·¢ËÍ");
- }
- // 3.6 ¼Ç¼Óû§ÎÊÌâ
- ÍêÕû¶Ô»°.push({
- ½ÇÉ«: "Óû§",
- ÄÚÈÝ: µ±Ç°ÎÊÌâ
- });
- // 3.7 µÈ´ýAI»Ø´ðÍê³É£¨»ùÓÚ"×îºóÒ»Ìõ»Ø´ðÎı¾±ä»¯"Åжϣ¬²»ÒÀÀµÊýÁ¿µÝÔö£©
- print.log("µÈ´ýAI»Ø´ð£¬·¢ËÍǰ×îºóÎı¾³¤¶È£º" + ×Ö·û´®³¤¶È(·¢ËÍǰ×îºóÎı¾));
- var лشðÎı¾ = µÈ´ýAI»Ø´ðÍê³É(·¢ËÍǰ×îºóÎı¾);
- if (лشðÎı¾ && ×Ö·û´®³¤¶È(лشðÎı¾) > 0) {
- ÍêÕû¶Ô»°.push({
- ½ÇÉ«: "AI",
- ÄÚÈÝ: лشðÎı¾
- });
- print.log("✓ ²É¼¯µ½Ð»ش𣬵±Ç°×ܶԻ°ÌõÊý£º" + ÍêÕû¶Ô»°.length);
- print.log("--- ²É¼¯ÄÚÈÝ¿ªÊ¼ ---");
- print.log(лشðÎı¾);
- print.log("--- ²É¼¯ÄÚÈݽáÊø ---");
- } else {
- print.log("⚠ δÄܲɼ¯µ½Ð»شð");
- }
- sleep.second(Ãë = ÎÊÌâ¼ä¸ôÃë);
- }
- // ²½Öè4£º±£´æ¶Ô»°µ½Îļþ
- print.log("\n========== ²½Öè4£º±£´æ¶Ô»°µ½Îļþ ==========");
- var Êä³öÄÚÈÝ = ¸ñʽ»¯¶Ô»°(ÍêÕû¶Ô»°);
- var дÈë³É¹¦ = дÈëÎļþ(Êä³öÎļþ·¾¶, Êä³öÄÚÈÝ);
- if (дÈë³É¹¦) {
- print.log("✓ ¶Ô»°Òѱ£´æµ½£º" + Êä³öÎļþ·¾¶);
- print.log("✓ ×ܶԻ°ÌõÊý£º" + ÍêÕû¶Ô»°.length);
- } else {
- print.log("✗ ±£´æÊ§°Ü£¬Çë¼ì²é´æ´¢È¨ÏÞ");
- }
- // ²½Öè5£º´òÓ¡È«²¿²É¼¯µ½µÄ¶Ô»°ÄÚÈÝ
- print.log("\n========== È«²¿²É¼¯ÄÚÈÝ ==========");
- print.log(Êä³öÄÚÈÝ);
- print.log("========== ÄÚÈݽáÊø ==========");
- print.log("\n===== ¶¹°ü¶Ô»°²É¼¯Á÷³Ì½áÊø =====");
¸´ÖÆ´úÂë
|
|