Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Android×Ô¶¯»¯²âÊÔ
 
×÷ÕߣºÍõ½øÓ À´Ô´£ºÐÂÀ˲©¿Í ·¢²¼ÓÚ 2015-03-02
  3540  次浏览      28
 

Ò»¡¢×Ô¶¯»¯²âÊÔ¸ÅÊö

ͨ³££¬ÔÚÉè¼ÆÁ˲âÊÔÓÃÀý²¢Í¨¹ýÆÀÉóÖ®ºó£¬ÓɲâÊÔÈËÔ±¸ù¾Ý²âÊÔÓÃÀýÖÐÃèÊöµÄ¹æ³Ì²½²½Ö´ÐвâÊÔ£¬µÃµ½Êµ¼Ê½á¹ûÓëÆÚÍû½á¹ûµÄ±È½Ï¡£Ôڴ˹ý³ÌÖУ¬ÎªÁ˽ÚÊ¡ÈËÁ¦¡¢Ê±¼ä»òÓ²¼þ×ÊÔ´£¬Ìá¸ß²âÊÔЧÂÊ£¬±ãÒýÈëÁË×Ô¶¯»¯²âÊԵĸÅÄî¡£×Ô¶¯»¯²âÊÔ¾ÍÊǰÑÒÔÈËΪÇý¶¯µÄ²âÊÔÐÐΪת»¯Îª»úÆ÷Ö´ÐеÄÒ»ÖÖ¹ý³Ì¡£ÔÚAndroid²âÊÔÖг£ÓõIJâÊÔ°üÀ¨£ºMonkeyºÍMonkeyRunnerÒÔ¼°robotium£¬±¾ÎÄÖÐÖ÷Òª½éÉÜÏÂMonkeyºÍMonkeyRunner×Ô¶¯»¯²âÊÔ¡£

¶þ¡¢Monkey²âÊÔÓëMonkeyRunner²âÊԱȽÏ

2.1¡¢Monkey

MonkeyÊÇÒ»¸öÃüÁîÐй¤¾ß£¬¿ÉÒÔÔËÐÐÔÚÄ£ÄâÆ÷Àï»òʵ¼ÊÉ豸ÖУ¬ËüÊÇÒ»ÖÖÇáÁ¿¼¶µÄÐÔÄܲâÊÔ¹¤¾ß¡£ËüÏòϵͳ·¢ËÍÎ±Ëæ»úµÄʼþÁ÷£¬ÊµÏÖ¶ÔÕýÔÚÔËÐеÄÓ¦ÓóÌÐò½øÐÐѹÁ¦²âÊÔ¡£Monkey°üÀ¨Ðí¶àÑ¡ÏËüÃÇ´óÖ·ÖΪËÄÀࣺ

1)»ù±¾ÅäÖÃÑ¡ÏÈçÉèÖó¢ÊÔµÄʼþÊýÁ¿¡£

2)ÔËÐÐÔ¼ÊøÑ¡ÏÈçÉèÖÃÖ»¶Ôµ¥¶ÀµÄÒ»¸ö°ü½øÐвâÊÔ

3)ʼþÀàÐÍºÍÆµÂÊ

4)µ÷ÊÔÑ¡Ïî

ÔÚMonkeyÔËÐеÄʱºò£¬ËüÉú³Éʼþ£¬²¢°ÑËüÃÇ·¢¸øÏµÍ³¡£Í¬Ê±£¬Monkey»¹¶Ô²âÊÔÖеÄϵͳ½øÐмà²â£¬¶ÔÏÂÁÐÈýÖÖÇé¿ö½øÐÐÌØÊâ´¦Àí£º

1)Èç¹ûÏÞ¶¨ÁËMonkeyÔËÐÐÔÚÒ»¸ö»ò¼¸¸öÌØ¶¨µÄ°üÉÏ£¬ÄÇôËü»á¼à²âÊÔͼתµ½ÆäËü°üµÄ²Ù×÷£¬²¢¶ÔÆä½øÐÐ×èÖ¹¡£

2) Èç¹ûÓ¦ÓóÌÐò±ÀÀ£»ò½ÓÊÕµ½ÈκÎʧ¿ØÒì³££¬Monkey½«Í£Ö¹²¢±¨´í¡£

3) Èç¹ûÓ¦ÓóÌÐò²úÉúÁËÓ¦ÓóÌÐò²»ÏìÓ¦(application not responding)µÄ´íÎó£¬Monkey½«»áÍ£Ö¹²¢±¨´í¡£

°´ÕÕÑ¡¶¨µÄ²»Í¬¼¶±ðµÄ·´À¡ÐÅÏ¢£¬ÔÚMonkeyÖл¹¿ÉÒÔ¿´µ½ÆäÖ´Ðйý³Ì±¨¸æºÍÉú³ÉµÄʼþ¡£

2.2¡¢MonkeyRunner

MonkeyRunner¹¤¾ßÌṩÁËÒ»¸öAPI£¬Ê¹ÓôËAPIд³öµÄ³ÌÐò¿ÉÒÔÔÚAndroid´úÂëÖ®Íâ¿ØÖÆAndroidÉ豸ºÍÄ£ÄâÆ÷¡£Í¨¹ýMonkeyRunner£¬Äú¿ÉÒÔд³öÒ»¸öPython³ÌÐòÈ¥°²×°Ò»¸öAndroidÓ¦ÓóÌÐò»ò²âÊÔ°ü£¬ÔËÐÐËü£¬ÏòËü·¢ËÍÄ£Äâ»÷¼ü£¬½ØÈ¡ËüµÄÓû§½çÃæÍ¼Æ¬£¬²¢½«½ØÍ¼´æ´¢ÓÚ¹¤×÷Õ¾ÉÏ¡£MonkeyRunner¹¤¾ßµÄÖ÷ÒªÉè¼ÆÄ¿µÄÊÇÓÃÓÚ²âÊÔ¹¦ÄÜ/¿ò¼ÜˮƽÉϵÄÓ¦ÓóÌÐòºÍÉ豸£¬»òÓÃÓÚÔËÐе¥Ôª²âÊÔÌ×¼þ£¬µ«Äúµ±È»Ò²¿ÉÒÔ½«ÆäÓÃÓÚÆäËüÄ¿µÄ¡£MonkeyRunnerÄܹ»ÊµÏֵŦÄܰüÀ¨£º

1£©¶àÉ豸¿ØÖÆ£ºmonkeyrunner API¿ÉÒÔ¿ç¶à¸öÉ豸»òÄ£ÄâÆ÷ʵʩ²âÊÔÌ×¼þ¡£Äú¿ÉÒÔÔÚͬһʱ¼ä½ÓÉÏËùÓеÄÉ豸»òÒ»´ÎÆô¶¯È«²¿Ä£ÄâÆ÷£¨»òͳͳһÆð£©£¬ÒÀ¾Ý³ÌÐòÒÀ´ÎÁ¬½Óµ½Ã¿Ò»¸ö£¬È»ºóÔËÐÐÒ»¸ö»ò¶à¸ö²âÊÔ¡£ÄúÒ²¿ÉÒÔÓóÌÐòÆô¶¯Ò»¸öÅäÖúõÄÄ£ÄâÆ÷£¬ÔËÐÐÒ»¸ö»ò¶à¸ö²âÊÔ£¬È»ºó¹Ø±ÕÄ£ÄâÆ÷¡£

2£©¹¦ÄܲâÊÔ£º monkeyrunner¿ÉÒÔΪһ¸öÓ¦ÓÃ×Ô¶¯¹á³¹Ò»´Î¹¦ÄܲâÊÔ¡£ÄúÌṩ°´¼ü»ò´¥ÃþʼþµÄÊäÈëÊýÖµ£¬È»ºó¹Û²ìÊä³ö½á¹ûµÄ½ØÆÁ¡£

3£©»Ø¹é²âÊÔ£ºmonkeyrunner¿ÉÒÔÔËÐÐij¸öÓ¦Ó㬲¢½«Æä½á¹û½ØÆÁÓë¼È¶¨ÒÑÖªÕýÈ·µÄ½á¹û½ØÆÁÏà±È½Ï£¬ÒԴ˲âÊÔÓ¦ÓõÄÎȶ¨ÐÔ¡£

4£©¿ÉÀ©Õ¹µÄ×Ô¶¯»¯£ºÓÉÓÚmonkeyrunnerÊÇÒ»¸öAPI¹¤¾ß°ü£¬Äú¿ÉÒÔ»ùÓÚPythonÄ£¿éºÍ³ÌÐò¿ª·¢Ò»ÕûÌ×ϵͳ£¬ÒÔ´ËÀ´¿ØÖÆAndroidÉ豸¡£³ýÁËʹÓÃmonkeyrunner APIÖ®Í⣬Äú»¹¿ÉÒÔʹÓñê×¼µÄPython osºÍsubprocessÄ£¿éÀ´µ÷ÓÃAndroid Debug BridgeÕâÑùµÄAndroid¹¤¾ß¡£

2.3¡¢MonkeyÓëMonkeyRunnerµÄÇø±ð

Monkey£º

Monkey¹¤¾ßÖ±½ÓÔËÐÐÔÚÉ豸»òÄ£ÄâÆ÷µÄadb shellÖУ¬Éú³ÉÓû§»òϵͳµÄÎ±Ëæ»úʼþÁ÷¡£

MonkeyRunner£º

MonkeyRunner¹¤¾ßÔòÊÇÔÚ¹¤×÷Õ¾ÉÏͨ¹ýAPI¶¨ÒåµÄÌØ¶¨ÃüÁîºÍʼþ¿ØÖÆÉ豸»òÄ£ÄâÆ÷¡£

Èý¡¢²âÊÔ»·¾³µÄ´î½¨

¼û£ºhttp://wenku.baidu.com/view/6f8d631e227916888486d75e.html

»òÕßhttp://blog.sina.com.cn/s/blog_a289fd65010155w5.html

ËÄ¡¢MonkeyÓëMonkeyRunner²âÊÔ¹¤¾ßÆô¶¯

4.1¡¢MonkeyµÄÆô¶¯

¿ÉÒÔͨ¹ý¿ª·¢»úÆ÷ÉϵÄÃüÁîÐлò½Å±¾À´Æô¶¯Monkey¡£ÓÉÓÚMonkeyÔËÐÐÔÚÄ£ÄâÆ÷/É豸»·¾³ÖУ¬ËùÒÔ±ØÐëÓÃÆä»·¾³ÖеÄshellÀ´½øÐÐÆô¶¯¡£¿ÉÒÔͨ¹ýÔÚÿÌõÃüÁîǰ¼ÓÉÏadb shellÀ´´ïµ½Ä¿µÄ£¬Ò²¿ÉÒÔ½øÈëShellºóÖ±½ÓÊäÈëMonkeyÃüÁî¡£»ù±¾Óï·¨ÈçÏ£º

$ adb shell monkey [options]

Èç¹û²»Ö¸¶¨options£¬Monkey½«ÒÔÎÞ·´À¡Ä£Ê½Æô¶¯£¬²¢°ÑʼþÈÎÒâ·¢Ë͵½°²×°ÔÚÄ¿±ê»·¾³ÖеÄÈ«²¿°ü¡£ÏÂÃæÊÇÒ»¸ö¸üΪµäÐ͵ÄÃüÁîÐÐʾÀý£¬ËüÆô¶¯Ö¸¶¨µÄÓ¦ÓóÌÐò£¬²¢ÏòÆä·¢ËÍ500¸öÎ±Ëæ»úʼþ£º

$ adb shell monkey -p your.package.name  -v 500

Æô¶¯Monkey²½Ö裺

Æô¶¯CMD¡úÊäÈëadb shellËùÔÚλÖã¨ÀýÈçÏ£º

E:\Program Files (x86)\Android\android-sdk-windows\platform-tools£©¡ú¼üÈëadb   shell

ÈçÏÂͼ1Ëùʾ£¬ÔòÆô¶¯³É¹¦¡£

ͼ1 Æô¶¯adb¹¤¾ß

Æô¶¯ºó¾Í¿ÉÒÔÊäÈëMonkeyÃüÁʹÆä×Ô¶¯²úÉúËæ»úϵÁвâÊÔÓ¦ÓóÌÐò¡£

£¨×¢£ºÃüÁî¿ÉÒÔÖ±½ÓÊäÈ룬Ҳ¿ÉÒÔͨ¹ý±àд½ÅÔËÐУ¬½Å±¾Îĵµ¿ÉÒÔÊÇ.text£©

4.2MonkeyRunner¹¤¾ßµÄÆô¶¯

MonkeyRunner×Ô¶¯»¯²âÊÔ¹¤¾ß±ÈMonkey²âÊÔ¸ü¾ßÓÐÈ˵ÄÒâÖ¾£¬Ä¿µÄÐÔ¸ü¼ÓÃ÷È·¡£Æô¶¯MonkeyRunner·½·¨ÈçÏ£º

CMD¡ú¼üÈëMonkeyRunnerλÖáúÊäÈëMonkeyRunner£¬Èçͼ2Ëùʾ£º

ͼ2 Æô¶¯MonkeyRunner

£¨×¢£ºÔËÐÐMonkeyRunnerʱ¿ÉÒÔÔÚÒÔÉÏ״̬ÏÂÊäÈëÖ¸ÁҲ¿ÉÒÔͨ¹ýmonkeyrunnerÃüÁîÔËÐÐPython½Å±¾£¬Æäºó׺Ϊ.py£©

Îå¡¢MonkeyÓëMonkeyRunnerÃüÁî½éÉÜ

5.1MonkeyÃüÁî½éÉÜ

ϱíÖÐÁгöÁËMonkeyÃüÁîÐпÉÓõÄÈ«²¿Ñ¡Ïî¡£

Àà±ð

Ñ¡Ïî

˵Ã÷

³£¹æ

1¡¢--help

Áгö¼òµ¥µÄÓ÷¨¡£

2¡¢-v

ÃüÁîÐеÄÿһ¸ö-v½«Ôö¼Ó·´À¡ÐÅÏ¢µÄ¼¶±ð¡£Level 0(ȱʡֵ)³ýÆô¶¯Ìáʾ¡¢²âÊÔÍê³ÉºÍ×îÖÕ½á¹ûÖ®Í⣬Ìṩ½ÏÉÙÐÅÏ¢¡£Level 1Ìṩ½ÏΪÏêϸµÄ²âÊÔÐÅÏ¢£¬ÈçÖð¸ö·¢Ë͵½ActivityµÄʼþ¡£Level 2Ìṩ¸ü¼ÓÏêϸµÄÉèÖÃÐÅÏ¢£¬Èç²âÊÔÖб»Ñ¡ÖеĻòδ±»Ñ¡ÖеÄActivity¡£

ʼþ

3¡¢ -s <seed>

Î±Ëæ»úÊýÉú³ÉÆ÷µÄseedÖµ¡£Èç¹ûÓÃÏàͬµÄseedÖµÔÙ´ÎÔËÐÐMonkey£¬Ëü½«Éú³ÉÏàͬµÄʼþÐòÁС£

4¡¢--throttle <milliseconds>

ÔÚʼþÖ®¼ä²åÈë¹Ì¶¨ÑÓ³Ù¡£Í¨¹ýÕâ¸öÑ¡Ïî¿ÉÒÔ¼õ»ºMonkeyµÄÖ´ÐÐËÙ¶È¡£Èç¹û²»Ö¸¶¨¸ÃÑ¡ÏMonkey½«²»»á±»ÑÓ³Ù£¬Ê¼þ½«¾¡¿ÉÄÜ¿ìµØ±»²ú³É¡£

5¡¢--pct-touch <percent>

µ÷Õû´¥ÃþʼþµÄ°Ù·Ö±È(´¥ÃþʼþÊÇÒ»¸ödown-upʼþ£¬Ëü·¢ÉúÔÚÆÁÄ»ÉϵÄijµ¥Ò»Î»ÖÃ)¡£

6¡¢--pct-motion <percent>

µ÷Õû¶¯×÷ʼþµÄ°Ù·Ö±È(¶¯×÷ʼþÓÉÆÁÄ»ÉÏij´¦µÄÒ»¸ödownʼþ¡¢Ò»ÏµÁеÄÎ±Ëæ»úʼþºÍÒ»¸öupʼþ×é³É)¡£

7¡¢--pct-trackball <percent>

µ÷Õû¹ì¼£Ê¼þµÄ°Ù·Ö±È(¹ì¼£Ê¼þÓÉÒ»¸ö»ò¼¸¸öËæ»úµÄÒÆ¶¯×é³É£¬ÓÐʱ»¹°éËæÓеã»÷)¡£

8¡¢--pct-nav <percent>

µ÷Õû¡°»ù±¾¡±µ¼º½Ê¼þµÄ°Ù·Ö±È(µ¼º½Ê¼þÓÉÀ´×Ô·½ÏòÊäÈëÉ豸µÄup/down/left/right×é³É)¡£

9¡¢--pct-majornav <percent>

µ÷Õû¡°Ö÷Òª¡±µ¼º½Ê¼þµÄ°Ù·Ö±È(ÕâЩµ¼º½Ê¼þͨ³£Òý·¢Í¼ÐνçÃæÖе͝×÷£¬È磺5-way¼üÅ̵ÄÖм䰴¼ü¡¢»ØÍ˰´¼ü¡¢²Ëµ¥°´¼ü)

10¡¢--pct-syskeys <percent>

µ÷Õû¡°ÏµÍ³¡±°´¼üʼþµÄ°Ù·Ö±È(ÕâЩ°´¼üͨ³£±»±£Áô£¬ÓÉϵͳʹÓã¬ÈçHome¡¢Back¡¢Start Call¡¢End Call¼°ÒôÁ¿¿ØÖƼü)¡£

11¡¢--pct-appswitch <percent>

µ÷ÕûÆô¶¯ActivityµÄ°Ù·Ö±È¡£ÔÚËæ»ú¼ä¸ôÀMonkey½«Ö´ÐÐÒ»¸östartActivity()µ÷Óã¬×÷Ϊ×î´ó³Ì¶È¸²¸Ç°üÖÐÈ«²¿ActivityµÄÒ»ÖÖ·½·¨¡£

12¡¢--pct-anyevent <percent>

µ÷ÕûÆäËüÀàÐÍʼþµÄ°Ù·Ö±È¡£Ëü°üÂÞÁËËùÓÐÆäËüÀàÐ͵Äʼþ£¬È磺°´¼ü¡¢ÆäËü²»³£ÓõÄÉ豸°´Å¥¡¢µÈµÈ¡£

Ô¼ÊøÏÞÖÆ

13¡¢-p <allowed-package-name>

Èç¹ûÓô˲ÎÊýÖ¸¶¨ÁËÒ»¸ö»ò¼¸¸ö°ü£¬Monkey½«Ö»ÔÊÐíϵͳÆô¶¯ÕâЩ°üÀïµÄActivity¡£Èç¹ûÄãµÄÓ¦ÓóÌÐò»¹ÐèÒª·ÃÎÊÆäËü°üÀïµÄActivity(ÈçÑ¡Ôñȡһ¸öÁªÏµÈË)£¬ÄÇЩ°üÒ²ÐèÒªÔÚ´Ëͬʱָ¶¨¡£Èç¹û²»Ö¸¶¨Èκΰü£¬Monkey½«ÔÊÐíϵͳÆô¶¯È«²¿°üÀïµÄActivity¡£ÒªÖ¸¶¨¶à¸ö°ü£¬ÐèҪʹÓöà¸ö -pÑ¡Ïÿ¸ö-pÑ¡ÏîÖ»ÄÜÓÃÓÚÒ»¸ö°ü¡£

14¡¢-c <main-category>

Èç¹ûÓô˲ÎÊýÖ¸¶¨ÁËÒ»¸ö»ò¼¸¸öÀà±ð£¬Monkey½«Ö»ÔÊÐíϵͳÆô¶¯±»ÕâЩÀà±ðÖеÄij¸öÀà±ðÁгöµÄActivity¡£Èç¹û²»Ö¸¶¨ÈκÎÀà±ð£¬Monkey½«Ñ¡ ÔñÏÂÁÐÀà±ðÖÐÁгöµÄActivity£ºIntent.CATEGORY_LAUNCHER»òIntent.CATEGORY_MONKEY¡£ÒªÖ¸¶¨¶à¸öÀà±ð£¬ÐèҪʹÓöà¸ö-cÑ¡Ïÿ¸ö-cÑ¡ ÏîÖ»ÄÜÓÃÓÚÒ»¸öÀà±ð¡£

µ÷ÊÔ

15¡¢ --dbg-no-events

ÉèÖôËÑ¡ÏMonkey½«Ö´ÐгõʼÆô¶¯£¬½øÈëµ½Ò»¸ö²âÊÔActivity£¬È»ºó²»»áÔÙ½øÒ»²½Éú³Éʼþ¡£ÎªÁ˵õ½×î¼Ñ½á¹û£¬°ÑËüÓë-v¡¢Ò»¸ö»ò¼¸¸ö°üÔ¼ Êø¡¢ÒÔ¼°Ò»¸ö±£³ÖMonkeyÔËÐÐ30Ãë»ò¸ü³¤Ê±¼äµÄ·ÇÁãÖµÁªºÏÆðÀ´£¬´Ó¶øÌṩһ¸ö»·¾³£¬¿ÉÒÔ¼àÊÓÓ¦ÓóÌÐòËùµ÷ÓõİüÖ®¼äµÄת»»¡£

16¡¢--hprof

ÉèÖôËÑ¡Ï½«ÔÚMonkeyʼþÐòÁÐ֮ǰºÍÖ®ºóÁ¢¼´Éú³Éprofiling±¨¸æ¡£Õ⽫»áÔÚdata/miscÖÐÉú³É´óÎļþ(~5Mb)£¬ËùÒÔҪСÐÄʹÓÃËü¡£

17¡¢--ignore-crashes

ͨ³££¬µ±Ó¦ÓóÌÐò±ÀÀ£»ò·¢ÉúÈκÎʧ¿ØÒ쳣ʱ£¬Monkey½«Í£Ö¹ÔËÐС£Èç¹ûÉèÖôËÑ¡ÏMonkey½«¼ÌÐøÏòϵͳ·¢ËÍʼþ£¬Ö±µ½¼ÆÊýÍê³É¡£

18¡¢--ignore-timeouts

ͨ³££¬µ±Ó¦ÓóÌÐò·¢ÉúÈκγ¬Ê±´íÎó(Èç¡°Application Not Responding¡±¶Ô»°¿ò)ʱ£¬Monkey½«Í£Ö¹ÔËÐС£Èç¹ûÉèÖôËÑ¡ÏMonkey½«¼ÌÐøÏòϵͳ·¢ËÍʼþ£¬Ö±µ½¼ÆÊýÍê³É¡£

19¡¢--ignore-security-exceptions

ͨ³££¬µ±Ó¦ÓóÌÐò·¢ÉúÐí¿É´íÎó(ÈçÆô¶¯Ò»¸öÐèҪijЩÐí¿ÉµÄActivity)ʱ£¬Monkey½«Í£Ö¹ÔËÐС£Èç¹ûÉèÖÃÁË´ËÑ¡ÏMonkey½«¼ÌÐøÏòϵͳ·¢ËÍʼþ£¬Ö±µ½¼ÆÊýÍê³É¡£

20¡¢--kill-process-after-error

ͨ³££¬µ±MonkeyÓÉÓÚÒ»¸ö´íÎó¶øÍ£Ö¹Ê±£¬³ö´íµÄÓ¦ÓóÌÐò½«¼ÌÐø´¦ÓÚÔËÐÐ״̬¡£µ±ÉèÖÃÁË´ËÑ¡Ïîʱ£¬½«»á֪ͨϵͳֹͣ·¢Éú´íÎóµÄ½ø³Ì¡£×¢Ò⣬Õý³£µÄ(³É¹¦µÄ)½áÊø£¬²¢Ã»ÓÐÍ£Ö¹Æô¶¯µÄ½ø³Ì£¬É豸ֻÊÇÔÚ½áÊøÊ¼þÖ®ºó£¬¼òµ¥µØ±£³ÖÔÚ×îºóµÄ״̬¡£

21¡¢--monitor-native-crashes

¼àÊÓ²¢±¨¸æAndroidϵͳÖб¾µØ´úÂëµÄ±ÀÀ£Ê¼þ¡£Èç¹ûÉèÖÃÁË--kill-process-after-error£¬ÏµÍ³½«Í£Ö¹ÔËÐС£

22¡¢--wait-dbg

Í£Ö¹Ö´ÐÐÖеÄMonkey£¬Ö±µ½Óе÷ÊÔÆ÷ºÍËüÏàÁ¬½Ó

5.2MonkeyRunner·½·¨½éÉÜ

MonkeyRunner°ïÖú

1¡¢com.android.monkeyrunner.MonkeyRunner.alert

µ±Ç°½Å±¾µÄÔËÐйý³ÌÖÐÏÔʾ¾¯¸æ¶Ô»°¿ò¡£¶Ô»°¿òÊÇģ̬£¬Òò´Ë½Å±¾Í£Ö¹£¬Ö±µ½Óû§¹Ø±Õ¶Ô»°¿ò¡£

²ÎÊý£º

ÏûÏ¢ - ÏûÏ¢ÏÔʾÔÚ¶Ô»°¿ò¡£

±êÌâ - ¶Ô»°¿òµÄ±êÌ⡣ĬÈÏÖµÊÇ¡°ÌáÐÑ¡±¡£

okTitle - ʹÓöԻ°¿òÖеİ´Å¥µÄÎı¾¡£Ä¬ÈÏÖµÊÇ¡°OK¡±¡£

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

2¡¢com.android.monkeyrunner.MonkeyDevice.broadcastIntent

·¢ËÍÒ»¸ö¹ã²¥É豸µÄÒâͼ¡£

²ÎÊý£º

URI - ÒâͼµÄURI¡£

Ðж¯ - ¸ÃÐж¯µÄÒâͼ¡£

Êý¾Ý - Êý¾ÝµÄURIÒâͼ

µÄmimetype - mimeÀàÐ͵ÄÒâͼ¡£

Àà±ð - µü´úµÄÒâͼÀà±ðÃû³Æ¡£

ÑÝÔ± - Ò»¸ö¶îÍâµÄ×ÖµäÌí¼Óµ½Òâͼ¡£ÕâЩ¶îÍâµÄÀàÐÍÍÆ¶ÏµÄÖµµÄPythonÀàÐÍ¡£

×é¼þ - ×é¼þµÄÒâͼ¡£

±êÖ¾ - Ò»¸öµü´úµÄ±ê־ΪIntent.All²ÎÊýÊÇ¿ÉÑ¡µÄ¡£Ã¿¸ö²ÎÊýµÄĬÈÏÖµÊÇnull¡££¨¼ûandroid.content.Context.sendBroadcast£¨ÒâÏò£©£©

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

3¡¢com.android.monkeyrunner.MonkeyRunner.choice

ÏÔʾһ¸öÑ¡Ôñ¶Ô»°¿ò£¬ÔÊÐíÓû§Ñ¡Ôñ´ÓÒ»¸öµ¥Ò»µÄÏîÄ¿£¬Ò»¸öÏîÄ¿Çåµ¥¡£

²ÎÊý£º

ÏûÏ¢ - ÌáʾÐÅÏ¢ÏÔʾÔÚ¶Ô»°¿ò¡£

Ñ¡Ôñ - Ò»¸ö¿Éµü´úµÄPythonÀàÐ͵ÄÑ¡ÔñÁбíÏÔʾ

±êÌâ - ¶Ô»°¿òµÄ±êÌ⡣ĬÈϵÄÊÇ¡°ÊäÈ롱

·µ»Ø£ºËùÑ¡ÏîÄ¿µÄµÖÏûÁËIterable»ùÓÚ0µÄÊý×Ö¡£

4¡¢com.android.monkeyrunner.MonkeyImage.convertToBytes

ת»»³ÉÒ»¸öÌØ¶¨¸ñʽµÄMonkeyImage×÷Ϊһ¸ö×Ö·û´®·µ»Ø½á¹û¡£Ê¹Óô˻ñµÃrawpixelsÔÚÒ»¸öÌØ¶¨µÄ¸ñʽ¡£×Ö·û´®Êä³öÊÇÓиüºÃµÄ±íÏÖ¡£

²ÎÊý£º

¸ñʽ - Ä¿±ê¸ñʽ£¨ÀýÈ磬¡°PNG±ãÐ¯Ê½ÍøÂçͼÐθñʽ£©¡£Ä¬ÈÏΪPNG¡£

·µ»Ø£ºÒ»¸öStringÉú³ÉµÄͼÏñ¡£

5¡¢com.android.monkeyrunner.MonkeyDevice.drag

Ä£ÄâÉ豸ÆÁÄ»ÉÏÍ϶¯£¨´¥Ãþ£¬³ÖÓкÍÒÆ¶¯£©¡£

²ÎÊý£º

¿ªÊ¼ - Í϶¯Æðµã£¨ÒÔÏñËØÎªµ¥Î»Ôª×飨X£¬Y£©£©

½áÊø - ×èÁ¦Öյ㣨ÒÔÏñËØÎªµ¥Î»Ôª×飨X£¬Y£©

ʱ¼ä - ÔÚ¼¸ÃëÖÓÄÚÍÏʱ¼ä£¨Ä¬ÈÏΪ1.0Ã룩

²½Öè - ²åÖµµãʱҪ²ÉÈ¡µÄ²½Öè¡£ £¨Ä¬ÈÏÊÇ10£©

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

6¡¢com.android.monkeyrunner.MonkeyView.getAccessibilityIds

·µ»Øµ±Ç°ÊÓͼµÄ¸¨ÖúIDS

·µ»Ø£ºÊÓͼµÄ¸¨ÖúIDS×÷Ϊһ¸öÕûÊýÁбí

7¡¢com.android.monkeyrunner.MonkeyRect.getCenter

·µ»ØÒ»¸öÁ½¸öÏîÄ¿Çåµ¥£¬ÆäÖаüº¬¾ØÐεÄÖÐÐĵÄxºÍyµÄÖµ

·µ»Ø£º¸ÃÖÐÐÄ×÷Ϊһ¸öÕûÊýµÄÁ½¸öÏîÄ¿Çåµ¥×ø±ê

8¡¢com.android.monkeyrunner.MonkeyView.getChecked

»ñÈ¡ÊÓͼµÄÑ¡ÖÐ״̬

·µ»Ø£ºÒ»¸ö²¼¶ûÖµ£¬¸ÃÏîÄ¿ÊÇ·ñ±»Ñ¡Öлò²»

9¡¢com.android.monkeyrunner.MonkeyView.getChildren

·µ»Øµ±Ç°ÊÓͼµÄº¢×ÓÃÇ

·µ»Ø£ºÈÏΪ¶ùͯMonkeyView¶ÔÏóÃûµ¥

10¡¢com.android.monkeyrunner.MonkeyView.getEnabled

·µ»ØÆôÓÃ״̬µÄ¿´·¨¡£

·µ»Ø£º×÷Ϊһ¸ö²¼¶ûÆôÓÃ״̬

11¡¢com.android.monkeyrunner.MonkeyView.getFocused

ÊÓͼ·µ»Ø¼¯ÖÐ״̬

·µ»Ø£º¼¯ÖеÄ״̬×÷Ϊһ¸ö²¼¶û

12¡¢com.android.monkeyrunner.MonkeyRect.getHeight

·µ»Ø¾ØÐεĸ߶ȡ£

·µ»Ø£º×÷Ϊһ¸öÕûÊýµÄ¾ØÐεĸ߶È

13¡¢com.android.monkeyrunner.MonkeyDevice.getHierarchyViewer

»ñÈ¡É豸HierarchyViewer¶ÔÏó¡£

·µ»ØÒ»¸öHierarchyViewer¶ÔÏó

14¡¢com.android.monkeyrunner.MonkeyView.getLocation

·µ»ØÊÓͼµÄλÖÃÔÚÒ»¸öMonkeyRectÐÎʽ

·µ»Ø£ºÊÓͼ×÷ΪMonkeyRect¶ÔÏóµÄλÖÃ

15¡¢com.android.monkeyrunner.MonkeyView.getParent

·µ»Øµ±Ç°ÊÓͼµÄ¸¸

·µ»Ø£ºÊÓͼµÄ¸¸×÷ΪMonkeyView¶ÔÏó

16¡¢com.android.monkeyrunner.MonkeyDevice.getProperty

ÓÉÓÚÉ豸ÉϵıäÁ¿µÄÃû³Æ£¬·µ»Ø±äÁ¿µÄÖµ

²ÎÊý£º

¹Ø¼ü - ±äÁ¿µÄÃû³Æ¡£¿ÉÓõÄÃû³ÆÔÚ

http://developer.android.com/guide/topics/testing/monkeyrunner.htmlÉÏÊС£

·µ»Ø£º¸Ã±äÁ¿µÄÖµ

17¡¢com.android.monkeyrunner.MonkeyDevice.getPropertyList

¼ìË÷£¬¿ÉÒÔ²éѯµÄÊôÐÔ

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

18¡¢com.android.monkeyrunner.MonkeyImage.getRawPixel

Ò»¸öµ¥Ò»µÄARGB£¨alpha£¬ºìÉ«£¬ÂÌÉ«£¬À¶É«£©ÏñËØÎ»ÖõÄX£¬Y¡£²ÎÊýXºÍYÊÇ0£¬±íʾÔÚÏñËØ³ß´ç¡£ XÔö¼ÓµÄȨÀû£¬¶Ôµ×²¿µÄYÔö¼Ó¡£´Ë·½·¨·µ»ØÒ»¸ötuple¡£

²ÎÊý£º

X - xÆ«ÒÆµÄÏñËØ

Y - ÏñËØµÄyÆ«ÒÆÁ¿

·µ»ØµÄÔª×飨һR£¬G£¬B£©µÄÏñËØ¡£ tupleÖеÄÿ¸öÏîÄ¿¶¼ÓÐ0-255·¶Î§ÄÚ¡£

19¡¢com.android.monkeyrunner.MonkeyImage.getRawPixelInt
Ò»¸öµ¥Ò»µÄARGB£¨alpha£¬ºìÉ«£¬ÂÌÉ«£¬À¶É«£©ÏñËØÎ»ÖõÄX£¬Y¡£²ÎÊýXºÍYÊÇ0£¬±íʾÔÚÏñËØ³ß´ç¡£ XÔö¼ÓµÄȨÀû£¬¶Ôµ×²¿µÄYÔö¼Ó¡£´Ë·½·¨·µ»ØÒ»¸öÕûÊý¡£

²ÎÊý£º

X - xÆ«ÒÆµÄÏñËØ

Y - ÏñËØµÄyÆ«ÒÆÁ¿

·µ»Ø£ºX£¬YµÄÎÞ·ûºÅÕûÊýÏñËØ¡£¸ß½×8λÊÇA£¬followedby 8λΪR£¬GºÍ8 8ΪB

20¡¢com.android.monkeyrunner.MonkeyDevice.getRootView

»ñÈ¡µ±Ç°¸ùÊÓͼ

·µ»Ø£º¸ùÊÓͼ¶ÔÏó

21¡¢com.android.monkeyrunner.MonkeyView.getSelected

·µ»ØÊÓͼµÄÑ¡ÖÐ״̬

·µ»Ø£º×÷Ϊһ¸ö²¼¶ûÑ¡ÖÐ״̬

22¡¢com.android.monkeyrunner.MonkeyImage.getSubImage

¸´ÖÆÍ¼ÏñµÄ¾ØÐÎÇøÓò¡£

²ÎÊý£º

¾ØÐÎ - Ò»¸öÔª×飨X£¬Y£¬W£¬H£©£¬ËµÃ÷¸ÃµØÇø¸´ÖÆ¡£ xºÍyÖ¸¶¨ÉÏ×ó±ß½ÇÂäµÄÇøÓò¡£ wÊǸõØÇøµÄÏñËØ¿í¶È£¬hÊÇËüµÄ¸ß¶È¡£

·µ»Ø£ºMonkeyImage¶ÔÏó´ú±í¸´ÖƵÄÇøÓò¡£

23¡¢com.android.monkeyrunner.MonkeyDevice.getSystemProperty

´úÃû´ÊµÄgetProperty£¨£©

²ÎÊý£º

¹Ø¼ü - ϵͳ±äÁ¿µÄÃû³Æ¡£

·µ»Ø£º¸Ã±äÁ¿µÄÖµ¡£

24¡¢com.android.monkeyrunner.MonkeyView.getText

·µ»ØÊÓͼËùÔØÎı¾

·µ»Ø£ºÔÚÊÓͼÖеÄÎı¾

25¡¢com.android.monkeyrunner.MonkeyDevice.getViewByAccessibilityIds

»ñµÃÖ¸¶¨µÄÎÞÕϰ­±êʶµÄ¿´·¨¡£

²ÎÊý£º

windowId - ÊÓͼÀ´¼ìË÷´°¿ÚµÄID¡£

ÎÞÕϰ­±êʶ - ¸¨ÖúÊÓͼÀ´¼ìË÷±êʶ¡£

·µ»Ø£º¾ßÓÐÖ¸¶¨IDµÄÊÓͼ¶ÔÏó¡£

26¡¢com.android.monkeyrunner.MonkeyDevice.getViewById

È¡µÃ¾ßÓÐÖ¸¶¨idµÄ¹Ûµã¡£

²ÎÊý£º

ID - IDµÄÊÓͼÀ´¼ìË÷¡£

·µ»Ø£º¾ßÓÐÖ¸¶¨IDµÄÊÓͼ¶ÔÏó¡£

27¡¢com.android.monkeyrunner.MonkeyView.getViewClass

·µ»ØÊÓͼÀàµÄÃû³Æ¡£

·µ»Ø£ºÀàÃû×÷Ϊһ¸ö×Ö·û´®µÄ¿´·¨

28¡¢com.android.monkeyrunner.MonkeyDevice.getViewIdList

¼ìË÷µ±Ç°Ó¦ÓóÌÐòµÄÊÓͼID

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

29¡¢com.android.monkeyrunner.MonkeyDevice.getViewsByText

»ñµÃÒ»¸öÁбí°üº¬Ö¸¶¨Îı¾µÄÒâ¼û¡£

²ÎÊý£º

Îı¾ - Îı¾ËÑË÷

·µ»Ø£º°üº¬Ö¸¶¨Îı¾µÄÊÓͼ¶ÔÏóµÄÃûµ¥¡£

30¡¢com.android.monkeyrunner.MonkeyRect.getWidth

·µ»Ø¾ØÐεĿí¶È¡£

·µ»Ø£º×÷Ϊһ¸öÕûÊýµÄ¾ØÐεĿí¶È

31¡¢com.android.monkeyrunner.MonkeyRunner.help

¸ñʽºÍAPI²Î¿¼ÏÔʾΪMonkeyRunnerµÄ¡£

²ÎÊý£º

¸ñʽ - Êä³öËùÐèµÄ¸ñʽ£¬ÎÞÂÛÊÇ¡°Îı¾¡±Îª´¿Îı¾»òHTML±ê¼ÇµÄHTML¡°¡£

·µ»Ø£ºÒ»¸ö×Ö·û´®£¬ÆäÖаüº¬ËùÐè¸ñʽµÄ°ïÖúÎı¾¡£

32¡¢com.android.monkeyrunner.MonkeyRunner.input

ÏÔʾһ¸ö¶Ô»°¿ò£¬½ÓÊÜÊäÈë¡£¶Ô»°¿ò£¬Ä£Ì¬£¬Òò´Ë½Å±¾Í£Ö¹£¬Ö±µ½Óû§µã»÷Á½¸ö¶Ô»°¿ò°´Å¥Ö®Ò»¡£ÊäÈëÒ»¸öÖµ£¬Óû§ÊäÈëµÄÖµ£¬²¢µ¥»÷¡°È·¶¨¡±°´Å¥¡£ÒªÍ˳ö£¬¶øÎÞÐèÊäÈëÒ»¸öÖµ¶Ô»°¿ò£¬Óû§µã»÷¡°È¡Ïû¡±°´Å¥¡£Ê¹ÓÃÕâÖÖ·½·¨ÌṩµÄ²ÎÊýÀ´¶¨ÖÆÕâЩ°´Å¥µÄÎı¾¡£

²ÎÊý£º

ÏûÏ¢ - ÌáʾÐÅÏ¢ÏÔʾÔÚ¶Ô»°¿ò¡£

³õÖµ - Ìṩ¸øÓû§µÄ³õʼֵ¡£Ä¬ÈÏÊÇÒ»¸ö¿Õ×Ö·û´®£©

±êÌâ - ¶Ô»°¿òµÄ±êÌ⡣ĬÈϵÄÊÇ¡°ÊäÈ롱

okTitle - Îı¾ÖÐʹÓöԻ°¿òµÄÈ·Èϰ´Å¥¡£Ä¬ÈϵÄÊÇ¡°OK¡±¡£Îı¾ÖÐʹÓöԻ°¿òµÄ¡°È¡Ïû¡±°´Å¥¡£Ä¬ÈÏÊÇ¡°È¡Ïû¡±¡£

cancelTitle -

·µ»Ø£º²âÊÔÓû§£¬»òûÓÐÊäÈ룬Èç¹ûÓû§È¡ÏûÁËÊäÈë;

33¡¢com.android.monkeyrunner.MonkeyDevice.installPackage

É豸°²×°µ½Ö¸¶¨µÄAndroid°ü£¨¡£apkÎļþ£©¡£Èç¹ûÉ豸ÉÏÒѾ­´æÔڵİü£¬Ëü»á±»Ìæ»»¡£

²ÎÊý£º

·¾¶ - °üµÄÖ÷»úÉϵÄÎļþϵͳ·¾¶ºÍÎļþÃû¡£

·µ»Ø£ºÈç¹û°²×°³É¹¦

34¡¢com.android.monkeyrunner.MonkeyDevice.instrument

ÓëÒÇÆ÷ÒDZíÔËÐÐÖ¸¶¨µÄ°ü£¬²¢·µ»ØËü²úÉúµÄÊä³ö¡£Ê¹ÓôËÔËÐвâÊÔ°üʹÓÃInstrumentationTestRunner¡£

²ÎÊý£º

µÄclassName - ÀàÔËÐÐÒÇ±í¡£¸ñʽÊÇÈí¼þ°üÃû/ÀàÃû¡£Ê¹ÓÃÈí¼þ°üÃûÀ´Ö¸¶¨ÔËÐУ¬Android°üºÍÀàÃûÀ´Ö¸¶¨ÔËÐиðüÄÚµÄÀà¡£¶ÔÓÚ²âÊÔ°ü£¬ÕâÊÇͨ³£35¡¢testpackagename / InstrumentationTestRunner

²ÎÊý - °üº¬²ÎÊý´«µÝ¸øÕâ¸öÒÇÆ÷£¨Ä¬ÈÏÖµÊÇ¡°ÎÞ¡±£©µÄ¶ÔÏóÓ³Éäµ½Ò»¸ö×Ö·û´®¡£

·µ»Ø£ºÒ»¸ö×Ö·û´®Ó³Éäµ½´Ó°üÖÐÊä³öµÄ¶ÔÏó¡£¶ÔÓÚÒ»¸ö²âÊÔ°ü£¬°üº¬Ò»¸öµ¥Ò»µÄ¼ü - Öµ¶Ô£º¹Ø¼üÊÇ'Á÷'µÄÖµÊÇÒ»¸ö×Ö·û´®£¬ÆäÖаüº¬²âÊÔÊä³ö¡£

35¡¢com.android.monkeyrunner.MonkeyRunner.loadImageFromFile

¼ÓÔØÎļþMonkeyImage¡£

²ÎÊý£º

·¾¶ - Òª¼ÓÔØµÄÎļþµÄ·¾¶¡£¸ÃÎļþµÄ·¾¶ÊÇÔÚ¼ÆËã»úÉÏÔËÐÐMonkeyRunner£¬¶ø²»ÊÇÔÚAndroidÉ豸ÉϵÄ·¾¶¡£

·µ»ØÖµ£ºÒ»¸öµÄÐÂMonkeyImage´ú±íÖ¸¶¨µÄÎļþ

36¡¢com.android.monkeyrunner.MonkeyDevice.press

·¢Ë͵½Ö¸¶¨¼üµÄÒ»¸ö¹Ø¼üʼþ

²ÎÊý£º

Ãû³Æ - ¼üµÄ¼üÂë°´£¨¼ûandroid.view.KeyEvent£©

ÈçÓÉTouchPressType£¨£©·µ»ØµÄÀàÐÍ - ´¥ÃþʼþÀàÐÍ¡£ÎªÁËÄ£ÄâÊäÈë¼ü£¬·¢ËÍDOWN_AND_UP

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

37¡¢com.android.monkeyrunner.MonkeyDevice.reboot

ÖØÐÂÒýµ¼µ½Ö¸¶¨µÄÒýµ¼³ÌÐòÖ¸¶¨µÄÉ豸¡£

²ÎÊý£º

- ÖØÆô½øÈëÒýµ¼³ÌÐò£ºÒýµ¼³ÌÐò£¬»Ö¸´£¬»òûÓÐ

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

38¡¢com.android.monkeyrunner.MonkeyDevice.removePackage

´ÓÉ豸ÖÐɾ³ýÖ¸¶¨µÄÈí¼þ°ü£¬°üÀ¨ÆäÏà¹ØµÄÊý¾ÝºÍ¸ßËÙ»º´æ¡£

²ÎÊý£º

°ü - °üµÄÃû×Öɾ³ý¡£

·µ»Ø£ºTrueÈç¹ûɾ³ý³É¹¦

39¡¢com.android.monkeyrunner.MonkeyImage.sameAs

±È½ÏÕâMonkeyImageµÄ¶ÔÏóaother MonkeyImage¶ÔÏó¡£

²ÎÊý£ºÆäËû - ÆäËûMonkeyImageµÄ¶ÔÏó¡£

£¥ - Ò»¸öÔÚ0.0µ½1.0µÄ·¶Î§ÄÚ¸¡¶¯£¬ËµÃ÷ÐèÒªÊÇÏàͬµÄ·½·¨£¬·µ»Ø¡°Õ桱µÄÏñËØµÄ°Ù·Ö±È¡£Ä¬ÈÏΪ1.0¡£

·µ»Ø£º²¼¶û'Õæ'£¬Èç¹ûÁ½¸ö¶ÔÏó°üº¬ÏàͬµÄͼÏñ¡£

40¡¢com.android.monkeyrunner.MonkeyView.setFocused

ÉèÖÃÊÓͼµÄ¼¯ÖÐ״̬

²ÎÊý£º

ÖØµã - ²¼¶ûÖµÉèÖü¯Öе½

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

41¡¢com.android.monkeyrunner.MonkeyView.setSelected

ÉèÖÃÊÓͼµÄÑ¡¶¨×´Ì¬

²ÎÊý£º

Ñ¡Ôñ - ²¼¶ûÖµÉèÖÃÑ¡Ôñ

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

42¡¢com.android.monkeyrunner.MonkeyDevice.shell

Ö´ÐÐÒ»¸öadb shellÃüÁ²¢·µ»Ø½á¹û£¬Èç¹ûÓеϰ¡£

²ÎÊý£ºCMD - adb shellÃüÁîÀ´Ö´ÐС£

·µ»Ø£º´ÓÃüÁîµÄÊä³ö¡£

43¡¢com.android.monkeyrunner.MonkeyRunner.sleep

ÔÝͣĿǰÕýÔÚÔËÐеijÌÐòÖ¸¶¨µÄÃëÊý¡£

²ÎÊý£º

Ãë - ÔÝÍ£µÄÃëÊý¡£

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

44¡¢com.android.monkeyrunner.MonkeyDevice.startActivity

¿ªÊ¼´ÓÖ¸¶¨µÄ²ÎÊý¹¹ÔìÒ»¸öIntent·¢ËÍÉ豸ÉϵĻ¡£

²ÎÊý£º

URI - ÒâͼµÄURI¡£

Ðж¯ - ¸ÃÐж¯µÄÒâͼ¡£

Êý¾Ý - Êý¾ÝµÄURIÒâͼ

µÄmimetype - mimeÀàÐ͵ÄÒâͼ¡£

Àà±ð - Ò»¸öPythonµü´ú°üº¬µÄÒâͼÀà±ðÃû³Æ¡£

ÑÝÔ± - Ò»¸ö¶îÍâµÄ×ÖµäÌí¼Óµ½Òâͼ¡£ÕâЩ¶îÍâµÄÀàÐÍÍÆ¶ÏµÄÖµµÄPythonÀàÐÍ¡£

×é¼þ - ×é¼þµÄÒâͼ¡£

±êÖ¾ - Ò»¸öµü´úµÄ±ê־ΪIntent.All²ÎÊýÊÇ¿ÉÑ¡µÄ¡£ÎªÃ¿¸ö²ÎÊýµÄĬÈÏÖµÊÇnull¡££¨¼ûandroid.content.Intent£©

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

45¡¢com.android.monkeyrunner.MonkeyDevice.takeSnapshot

»ñÈ¡É豸µÄÆÁÄ»»º³åÇø£¬²úÉúÁËÕû¸öÏÔʾÆ÷µÄÆÁÄ»²¶»ñ¡£

·µ»Ø£ºÒ»¸öMonkeyImage¶ÔÏ󣨵ãÕóͼ°ü×°£©

46¡¢com.android.monkeyrunner.MonkeyDevice.touch

ÔÚÖ¸¶¨Î»Ö÷¢ËÍ´¥Ãþʼþ

²ÎÊý£º

X - X×ø±ê£¬ÒÔÏñËØÎªµ¥Î»

Y - Y×ø±ê£¬ÒÔÏñËØÎªµ¥Î»

ÀàÐÍ - ´¥ÃþʼþÀàÐÍTouchPressType£¨·µ»Ø£©

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

47¡¢com.android.monkeyrunner.MonkeyDevice.type

¼üÅÌÉϵÄÀàÐÍÖ¸¶¨µÄ×Ö·û´®¡£ÕâÏ൱ÓÚÒªÇóÿ¸ö×Ö·û´®ÖеÄ×Ö·û°´£¨¼üÂ룬DOWN_AND_UP£©¡£

²ÎÊý£º

ÏûÏ¢ - ×Ö·û´®·¢Ë͵½¼üÅÌ¡£

·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

48¡¢com.android.monkeyrunner.MonkeyRunner.waitForConnection
µÈ´ý¹¤×÷Õ¾Á¬½Óµ½É豸¡£

²ÎÊý£º

³¬Ê± - ÔÚ¼¸ÃëÖӵȴý³¬Ê±¡£Ä¬ÈÏÊÇÎÞÏÞÆÚµØµÈ´ý¡£

µÄdeviceid - Ò»¸öÕýÔò±í´ïʽָ¶¨µÄÉ豸Ãû³Æ¡£¿´µ½¿ª·¢Ö¸ÄÏ£¬Á˽âÓйØÉ豸Ãû³ÆÎª¡°ÑÇÐС±µÄÎļþ¡£

·µ»Ø£ºÒ»¸öChimpDevice¶ÔÏó´ú±íÁ¬½ÓµÄÉ豸¡£

49¡¢com.android.monkeyrunner.MonkeyDevice.wake

ÔÚÉ豸ÆÁÄ»ÉÏ»½ÐÑ·µ»Ø£º·µ»ØÈκÎÄÚÈÝ¡£

50¡¢com.android.monkeyrunner.MonkeyImage.writeToFile

дÎļþMonkeyImage¡£Èç¹ûûÓÐÖ¸¶¨¸ñʽ£¬ÕâÖÖ·½·¨²Â²âÊä³ö¸ñʽµÄ»ù´¡ÉÏÌṩµÄÎļþÀ©Õ¹ÃûµÄÀ©Õ¹¡£Èç¹ûÊÇÎÞ·¨²Â²âµÄ¸ñʽ£¬ËüʹÓõÄPNG¡£

²ÎÊý£º

·¾¶ - Êä³öÎļþÃû£¬Ò²¿ÉÒÔ°üÀ¨Æä·¾¶

¸ñʽ - Ä¿±ê¸ñʽ£¨ÀýÈ磬¡°PNG±ãÐ¯Ê½ÍøÂçͼÐθñʽ¡£

·µ»Ø£ºBooleanÈç¹ûд³É¹¦¡£

Áù¡¢MonkeyRunner²âÊÔ³ÌÐòµÄ±àдʾÀý

MonkeyRunner³ÌÐòÊÇÓÃPythonÓïÑÔдµÄ£¬µ«ÊÇÓÉÓÚÔÚ´ËÖ÷ҪĿµÄÔÚÓÚ½éÉÜ×Ô¶¯»¯²âÊÔ£¬ËùÒÔ²»×¨ÃŽéÉÜPythonÓïÑÔ£¬´ó¼Ò¿ÉÒÔͨ¹ýרÃÅ

Python½Ì³Ì½øÐÐѧϰ¡££¨¸¨µ¼½Ì³Ì¿ÉÓ㺡¶Python»ù´¡½Ì³Ì(µÚ2°æ)¡·»òÕß¡¶Python3³ÌÐò¿ª·¢Ö¸ÄÏ(µÚ¶þ°æ)¡·£©¡£

6.1MonkeyRunner×ø±ê¼Ç¼³ÌÐòµÄ±àд

³£ÓõÄ×ø±ê²âÊÔ³ÌÐòÒ»°ã¶¼Ïàͬ£¬Ö»Òª×ö¼òµ¥Ð޸ľͿÉʹÓã¬Ê¾ÀýÈçÏ£º

#This Python file uses the following encoding: utf-8
#!/usr/bin/env monkeyrunner
# Copyright 2010, The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner.recorder import MonkeyRecorder as recorder

#Á¬½ÓÉ豸
device = mr.waitForConnection()

mr.sleep(10)

#°²×°Ó¦ÓóÌÐò
#device.installPackage("°²×°°ü·¾¶+Ãû×Ö")

#Æô¶¯AndroidÓ¦ÓóÌÐò
#device.startActivity(component="³ÌÐòÆô¶¯µÄÊ׸öActivityÃû")

#Æô¶¯Â¼ÖƳÌÐò
recorder.start(device)

6.2MonnkeyRunner²âÊÔ³ÌÐòµÄ±àд

ÔËÓÃ5.2ÖÐÌṩµÄÃüÁ¾Í¿ÉÒÔ±àдӦÓóÌÐò£¬Ê¾Àý³ÌÐòÈçÏ£º

# µ¼Èë´Ë³ÌÐòËùÐèµÄmonkeyrunnerÄ£¿é
from com.android.monkeyrunner import MonkeyRunner£¬ MonkeyDevice, MonkeyImage
# Á¬½Óµ±Ç°É豸£¬·µ»ØÒ»¸öMonkeyDevice¶ÔÏó
device= MonkeyRunner.waitForConnection£¨£©
# °²×°Android °ü£¬×¢Ò⣬´Ë·½·¨·µ»ØµÄ·µ»ØÖµÎªboolean £¬ÓÉ´ËÄú¿ÉÒÔÅÐ
#¶Ï°²×°¹ý³ÌÊÇ·ñÕý³£
device.installPackage £¨'°²×°Â·¾¶'£©
# ÔËÐдËÓ¦ÓÃÖеÄÒ»¸ö»î¶¯
device.startActivity £¨component='com.example.android.myapplication.MainActivity'£©
# °´Ï²˵¥°´¼ü
device.press£¨'KEYCODE_MENU'£¬'DOWN_AND_UP' £©
# ½ØÈ¡ÆÁÄ»½ØÍ¼
result = device.takeSnapShot
#½«½ØÍ¼±£´æÖÁÎļþ
result.writeToFile£¨'myproject/shot1.png' £¬'png' £©
   
3540 ´Îä¯ÀÀ       28
 
Ïà¹ØÎÄÕÂ

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖÓë̽ÌÖ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
 
Ïà¹ØÎĵµ

Android_UI¹Ù·½Éè¼Æ½Ì³Ì
ÊÖ»ú¿ª·¢Æ½Ì¨½éÉÜ
androidÅÄÕÕ¼°ÉÏ´«¹¦ÄÜ
Android½²ÒåÖÇÄÜÊÖ»ú¿ª·¢
Ïà¹Ø¿Î³Ì

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

androidÈË»ú½çÃæÖ¸ÄÏ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
AndroidÊÖ»ú¿ª·¢£¨¶þ£©
AndroidÊÖ»ú¿ª·¢£¨Èý£©
AndroidÊÖ»ú¿ª·¢£¨ËÄ£©
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖ̽ÌÖ
ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
ÊÖ»úÈí¼þ×Ô¶¯»¯²âÊÔÑо¿±¨¸æ


Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
AndroidÓ¦Óÿª·¢
Androidϵͳ¿ª·¢
ÊÖ»úÈí¼þ²âÊÔ
ǶÈëʽÈí¼þ²âÊÔ
AndroidÈí¡¢Ó²¡¢ÔÆÕûºÏ


ÁìÏÈIT¹«Ë¾ android¿ª·¢Æ½Ì¨×î¼Ñʵ¼ù
±±¾© Android¿ª·¢¼¼Êõ½ø½×
ijÐÂÄÜÔ´ÁìÓòÆóÒµ Android¿ª·¢¼¼Êõ
ijº½Ì칫˾ Android¡¢IOSÓ¦ÓÃÈí¼þ¿ª·¢
°¢¶û¿¨ÌØ LinuxÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ