關閉

                  Android性能測試工具MonkeyRunner使用指南

                  發表于:2020-9-04 10:44

                  字體: | 上一篇 | 下一篇 | 我要投稿

                   作者:miss.yang    來源:博客園

                    1.MonkeyRunner介紹:
                    Android的SDK中集成了三個可用來進行自動化測試的工具:Monkey、MonkeyRunner和Robotium。這三個測試工具都是基于黑盒測試。
                    MonkeyRunner工具提供了一個API,使用此API寫出的程序可以在Android代碼之外控制Android設備和模擬器。通過monkeyrunner,可以寫出一個Python程序去安裝一個Android應用程序或測試包,運行它,向它發送模擬擊鍵,截取它的用戶界面圖片,并將截圖存儲于工作站上。monkeyrunner工具的主要設計目的是用于測試功能/框架水平上的應用程序和設備,或用于運行單元測試套件。
                    Monkeyrunner工具是使用Jython(使用Java編程語言的一種Python實現)寫出來的。Jython允許MonkeyrunnerAPI與Android框架輕松的進行交互。
                    Python是一門強大的面向對象的編程語言,可以跨平臺運行。
                    2.MonkeyRunner環境搭建
                    安裝JDK,配置環境變量
                    在Mac中已經為我們預裝了JDK,因此JDK對我們來說直接使用即可,查看Mac中的JDK版本方法是在命令行中輸入"java -version”并回車即可。
                    vim .bash_profile
                    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
                    export PATH=$JAVA_HOME/bin:$PATH
                    下載Android SDK,并配置環境變量
                    vim .bash_profile
                    export PATH=${PATH}:/Users/zhangyuyin/Android/android-sdk-macosx/platform-tools  【monkey】
                    export PATH=${PATH}:/Users/zhangyuyin/Android/android-sdk-macosx/tools  【monkeyrunner】
                    export PATH=${PATH}:/Users/zhangyuyin/Android/android-sdk-macosx/build-tools/20.0.0 【aapt】
                    Python
                    Mac OX 上 自帶 Python 2.7
                    你不必安裝和配置即可直接使用Python進行開發
                    3.MonkeyRunner的詳細介紹
                    MonkeyRunner工具主要有三個類:MonkeyRunner、MonkeyDevice、MonkeyImage
                    MonkeyRunnner類:
                    這個類主要用于把MonkeyRunner連接至真機或者模擬器waitForConnection
                    MonkeyImage類:
                    這個類主要是測試過程中,用來保存測試截圖,把圖片保存成各種格式,并且可以比較兩個MonkeyImage對象。
                    主要常用的有兩個方法:writeToFile (string path, string format) ,這個是保存截圖的位置和命名,可以把圖片保存到sdcard里面,也可以保存到電腦里面;sameAs (MonkeyImage other, float percent) 這個用來比較兩個截圖是否相同,結果為boolean值。
                    MonkeyDevice類:
                    這個類的方法就多了,主要提供了安裝和卸載程序包、啟動一個活動及操作鍵盤等事件的方法。startActivity (string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, flags) 啟動一個應用,press (string name, dictionary type)點擊控件 ,touch (integer x, integer y, integer type)點擊控件(通過坐標定位),drag (tuple start, tuple end, float duration, integer steps) 拖拉控件等等方法。
                    4.官網文檔
                    MonkeyRunner:https://developer.android.com/studio/test/monkeyrunner/MonkeyRunner.html
                    MonkeyImage:https://developer.android.com/studio/test/monkeyrunner/MonkeyImage.html
                    MonkeyDevice:https://developer.android.com/studio/test/monkeyrunner/MonkeyDevice.html
                    5.monkeyrunner運行方式
                    monkeyrunner -plugin <程序文件名> <程序選項>
                    -plugin:(可選)內含monkeyrunner插件的.jar文件
                    <程序文件名> :如果指定此參數,monkeyrunner將視文件內容為Python程序并予以執行。如果此參數未予指定,則開啟一個交互式會話。例如:monkeyrunner  test.py
                    <程序選項>:(可選)所指定的程序所需的參數或標志
                    6.單步命令和操作( 查看包名和啟動activity:aapt、logcat或其他工具)
                    準備好手機或模擬器,運行monkeyrunner
                    導入需要使用的模塊from...import...
                    連接設備waitForConnection
                    安裝待測應用apk到設備installPackage
                    卸載待測應用removePackage
                    啟動待測應用startActivity
                    暫停目前正在運行的程序指定的秒數sleep
                    點擊屏幕上的位置touch
                    將字符串發送到鍵盤type
                    發送指定類型指定鍵碼的事件press
                    模擬模擬滑動drag
                    重啟手機reboot
                    手機截圖takeSnapshot
                    保存截圖writeToFile
                    喚醒設備屏幕wake
                    7.執行python腳本
                    8.錄制和回放
                    錄制:monkeyrunner  monkey_recorder.py
                    回放:monkeyrunner monkey_playback.py 文件名
                    9.monkeyrunner和monkey的區別
                    Monkey在命令行shell中運行,monkeyrunner在python環境下運行
                    Monkey是性能中的穩定性測試工具,monkeyrunner屬于功能性測試工具
                    Monkey不支持擴展,monkeyrunner官方提供了python的API進行擴展

                    本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系51Testing小編(021-64471599-8017),我們將立即處理

                  《2023軟件測試行業現狀調查報告》獨家發布~

                  關注51Testing

                  聯系我們

                  快捷面板 站點地圖 聯系我們 廣告服務 關于我們 站長統計 發展歷程

                  法律顧問:上海蘭迪律師事務所 項棋律師
                  版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2024
                  投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

                  滬ICP備05003035號

                  滬公網安備 31010102002173號

                  亚洲欧洲自拍图片专区123_久久久精品人妻无码专区不卡_青青精品视频国产色天使_A免看的日黄亚洲