999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于monkeyrunner的Android應用自動化測試框架的研究

2019-03-04 11:05:01王佳明駱德漢
電腦知識與技術 2019年34期

王佳明 駱德漢

摘要:針對Android手機應用軟件測試,提出了基于monkeyrunner框架的自動化測試解決方案。對于Android手機常用的測試場景給出了具體的實現方法,測試結果表明,通過基于monkeyrunner的Python腳本實現測試用例自動化,減少了重復和煩瑣的手工測試,提高了Android手機應用測試的效率,節約了人力成本,縮短了軟件開發周期。

關鍵詞:Android;自動化測試框架;monekyrunner;Python

中圖分類號:TP311.1

文獻標識碼:A

文章編號:1009-3044(2019)34-0234-03

1 背景

自2011年以來,Android -直是全球最暢銷的智能手機操作系統,截至2018年12月,Google Play商店擁有超過260萬個應用程序[1]。隨著手機應用的功能越來越復雜,更新迭代越來越快,傳統的手工測試已經不能滿足要求,Android手機應用自動化測試的需求越來越迫切。自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程[2],通過所開發的軟件測試工具、腳本等來模擬用戶行為,按照事先設計好的路徑,完成固定的流程和操作,實現替代人工重復性的工作。相對于手工測試,自動化測試具有良好的可操作性、可重復性和高效率等特點。軟件自動化測試是提高測試效率、覆蓋率和可靠性等的重要手段,它是軟件測試不可分割的一部分。常用的Android自動化測試框架有monkey,monkeyrnner,Robotium,UIAutoma-tor等,本文主要介紹基于monkeyrunner框架的Android應用自動化測試。

2 monkeyrunner簡介

monkeyIunner提供了一個API,可以通過這個API在An-droid代碼之外控制Android設備或模擬器,通過monkeyrunner,可以編寫自動化測試腳本程序去安裝一個Android應用程序或測試包并運行它,向它發送模擬擊鍵,截取它的用戶界面圖片,并將截圖存儲于工作站[3]。monkeyrunner API可以跨多個設備或模擬器,可以在同一時間接上所有的設備或一次啟動全部模擬器,也可以用程序啟動一個配置好的模擬器,運行一個或多個測試,然后關閉模擬器。由于monkeyrunner是一個API工具包,可以基于PYthon模塊和程序開發一整套系統,以此來控制Android設備。

monkeyrunner API由三個模塊組成,分別為MonkevRunner,MonkeyDevice,Monkeylmage。MonkeyRunner提供了將monkev-runner連接到設備或模擬器的方法,它還提供了為monkeyrunner程序創建UI以及顯示內置幫助的方法;MonkeyDevice提供了安裝和卸載軟件包,啟動Activity以及向應用程序發送鍵盤或觸摸事件的方法,還可以使用它來運行測試包;Monkeylmage提供捕獲屏幕,將位圖圖像轉換為各種格式,比較兩個Monkeylmage對象以及將圖像寫入文件的方法[4]。

3 開發環境搭建

本節主要介紹怎樣在Windowsl0 64位操作系統下搭建Android開發環境,需要提前準備好JDK(Java Development Kit),SDK(Software Development Kit)和Python安裝文件。根據作者的經驗,JDK和SDK安裝過程相對簡單,主要是安裝完成后配置相應的環境變量略顯復雜,因此下面主要介紹JDK和SDK環境變量的配置。由于Python安裝和配置都很簡單,且相關資料很多,在此不再贅述。

3.1 JDK環境變量的配置

JDK是Java語言的軟件開發丁具包,它是整個Java開發的核心,它包含了Java的運行環境,Java工具和Java基礎的類庫[5]。在電腦上安裝好JDK后,按照下面的步驟配置JDK的環境變量。

Step 1:鼠標右鍵點擊“我的電腦”圖標,選擇屬性一高級系統設置一高級一環境變量。

Step 2:新建系統變量,變量名為:JAVA_HOME,變量值為:C:\Program Files\Java\j dkl.8.0_191,也就是安裝JDK的根目錄。這里需要注意的是,每個人JDK安裝路徑可能不一樣,需要根據自己JDK實際安裝路徑填寫,如圖2所示。

3.2 SDK環境變量的配置

Android SDK.即Android軟件開發工具包,是軟件開發工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統等建立應用軟件的開發工具的集合。為Android提供了必要的API庫和開發工具來構建,測試和調試應用程序[6]。簡單來講,An-droid SDK可以看成用于開發和運行Android應用的一個軟件。SDK不需要安裝,將下載好的SDK壓縮包解壓到本地電腦相應的目錄下即可,然后按照下面的步驟配置SDK的環境變量。

Step 1:鼠標右鍵點擊“我的電腦”圖標,選擇屬性一高級系統設置-高級一環境變量。

Step 2:新建系統變量,變量名為:ANDROID_HOME,變量值為:D:\android-sdk_r24.4.1-windows\android-sdk-windows,也就是前面提到的SDK壓縮包解壓到本地電腦后的路徑。

Step 3:修改系統環境變量Path,在Path中新建%AN-DROID_HOME% \platform-tools和%ANDROID_HOME% \tools,如圖5所示。

4 自動化測試實例

本文測試所用手機為酷派cooll dual,型號為C106-9,手機Android版本為6.0.1。測試電腦為Windowsl0 64位操作系統,所有測試腳本都是基于Python 3.7.0開發。在進行測試之前,請將手機通過數據線連接至測試電腦,確保手機進入開發者選項且允許USB調試,并允許安裝來自未知來源的應用和后臺安裝應用。

4.1 自動化實例一

實例一測試用例:實現自動安裝手機QQ,并卸載手機中已經安裝好的新浪微博。

4.1.1測試腳本代碼

測試腳本代碼如下,將其保存為install_uninstall.py至電腦d:\scripts目錄下。

4.1.2 執行測試

將手機通過數據線連接至電腦后,在電腦cmd中執行:monkevrunner d:\scripts\install_uninstall.py,如圖7所示。

4.2 自動化測試實例二

實例二測試用例:實現手機QQ的自動啟動和登錄,默認用戶名為‘123456,密碼為‘654321。

4.2.1 測試腳本代碼

測試腳本代碼如下,將其保存為login.py至電腦d:\scripts目錄下。

4.2.2 執行測試

將手機通過數據線連接至電腦后,在電腦cmd中執行mon-keyrunner d:\scripts\login.py,如圖9所示。

4.3 自動化測試實例三

實例三測試用例:實現抖音的自動啟動和自動劃屏播放下一個視頻的功能,并將每個視頻截屏后保存至本地電腦。

4.3.1 測試腳本代碼

測試腳本代碼如下,將其保存為douyin.py至電腦d:\scripts目錄下。

4.3.2 執行測試

將手機通過數據線連接至電腦后,在電腦cmd中執行:monkeyrunner d:\scripts\douyin.py.如圖11所示。

5 結束語

本文提出了一種基于monkeyrunner框架的Android應用自動化測試方案,根據Android常用的測試場景給出了具體的實現方法,這些方法可以廣泛適用于Android手機應用的功能測試以及回歸測試等。當然monkeyrunner也有它的不足,例如點擊和拖拽方法需要獲取坐標,但坐標依賴于手機屏幕分辨率,如果手機屏幕分辨率一旦改變,就會使得相應的操作可能無效,因此monkeyrunner腳本代碼的復用率和可移植性比較差,這時就需要尋求其他更好的測試方案。

參考文獻:

[1] Android (operating system)[EB/OLl. https://en.wikipedia.org/wi-ki/Androidjoperating_system).

[2]李龍,李向函,馮海寧,等.軟件測試實用技術與常用模板[Ml.北京:機械工業出版社,2010.

[3] monkeyrunner[EB/OL]. https://developer. android. com/studio/test/monkeyrunner.

[4]許奔.深入理解Android自動化測試[M].北京:機械工業出版社,2016.

[5]支艷強,謝文閣,王麗麗.基于JDK的Java集成開發環境的設計和實現[J]‘大眾科技,2011(9):9.

[6]周宇,尹生強,王冬青,等,基于Eclipse和Android系統的App開發平臺搭建研究[J].青島大學學報:工程技術版,2016,31(3):50.

【通聯編輯:謝媛媛】

收稿日期:2019-10-08

作者簡介:王佳明(1984-),男,湖北洪湖人,碩士研究生,主要研究方向為軟件測試。

主站蜘蛛池模板: 天天躁日日躁狠狠躁中文字幕| 福利一区三区| 精品伊人久久久久7777人| 精品三级网站| 91成人在线免费观看| 国产欧美视频综合二区| 91精品啪在线观看国产60岁| 伊人色天堂| 嫩草国产在线| 日本一区二区三区精品AⅤ| 小说 亚洲 无码 精品| 国产成人精品视频一区二区电影| 国产一区二区三区免费观看| 欧美亚洲欧美区| 亚洲第一黄色网址| 69精品在线观看| 欧美午夜在线观看| 亚洲人成网站日本片| 亚洲日本在线免费观看| 996免费视频国产在线播放| 国产精品永久久久久| 欧美精品H在线播放| 综合五月天网| 伊人大杳蕉中文无码| 99视频全部免费| 欧美色香蕉| 亚洲精品无码AⅤ片青青在线观看| 欧美三级视频在线播放| 久久久久亚洲AV成人网站软件| 亚洲三级色| 激情综合网址| 国产成人精品一区二区免费看京| 亚洲午夜天堂| 麻豆国产精品视频| 五月综合色婷婷| 亚洲精品视频在线观看视频| 伊人国产无码高清视频| 色视频久久| 亚洲男人的天堂视频| 国产另类视频| 亚洲精品第一在线观看视频| 国内精品久久人妻无码大片高| 日韩无码视频播放| 四虎亚洲精品| 亚洲天堂区| 国产亚洲欧美在线中文bt天堂 | 国产制服丝袜91在线| 国产在线八区| 欧美视频在线观看第一页| 91福利免费| 亚洲国产黄色| 亚洲天堂首页| 日日碰狠狠添天天爽| 国产迷奸在线看| 中文字幕在线欧美| 久久中文电影| 国产乱人伦AV在线A| 国产视频 第一页| 亚洲美女久久| 秋霞国产在线| 亚洲欧美日韩中文字幕一区二区三区| 国产精品一区二区久久精品无码| 久久国产乱子伦视频无卡顿| 无码精品国产VA在线观看DVD| 在线观看亚洲精品福利片 | 成人免费网站久久久| 日本成人在线不卡视频| 999国产精品| 亚洲va在线观看| 动漫精品中文字幕无码| 亚洲国产清纯| 亚洲第一成年免费网站| 成人一级免费视频| 六月婷婷激情综合| 亚洲成网站| 人人艹人人爽| 亚洲欧美日韩动漫| 亚洲有无码中文网| 国产精品对白刺激| 久久精品中文无码资源站| 思思99热精品在线| 久久伊伊香蕉综合精品|