Ò»¡¢×Ô¶¯»¯²âÊÔ¸ÅÊö
ͨ³££¬ÔÚÉè¼ÆÁ˲âÊÔÓÃÀý²¢Í¨¹ýÆÀÉóÖ®ºó£¬ÓɲâÊÔÈËÔ±¸ù¾Ý²âÊÔÓÃÀýÖÐÃèÊöµÄ¹æ³Ì²½²½Ö´ÐвâÊÔ£¬µÃµ½Êµ¼Ê½á¹ûÓëÆÚÍû½á¹ûµÄ±È½Ï¡£Ôڴ˹ý³ÌÖУ¬ÎªÁ˽ÚÊ¡ÈËÁ¦¡¢Ê±¼ä»òÓ²¼þ×ÊÔ´£¬Ìá¸ß²âÊÔЧÂÊ£¬±ãÒýÈëÁË×Ô¶¯»¯²âÊԵĸÅÄî¡£×Ô¶¯»¯²âÊÔ¾ÍÊǰÑÒÔÈËΪÇý¶¯µÄ²âÊÔÐÐΪת»¯Îª»úÆ÷Ö´ÐеÄÒ»ÖÖ¹ý³Ì¡£ÔÚ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' £© |
|