欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

android monkey自動化測試改為java調用monkeyrunner Api

 更新時間:2012年11月23日 17:03:15   作者:  
一般情況下我們使用android中的monkeyrunner進行自動化測試時,使用的是python語言來寫測試腳本。不過,最近發(fā)現可以用java調用monkeyrunner Api,于是,就簡單研究了一下。這里做一些總結。希望有對在研究的午飯可以有所用處
眾所周知,一般情況下我們使用android中的monkeyrunner進行自動化測試時,使用的是python語言來寫測試腳本。不過,最近發(fā)現可以用java調用monkeyrunner Api,用java語言寫測試腳本。
 
于是,就簡單研究了一下。這里做一些總結。希望有對在研究的午飯可以有所用處。
開始時,搜素到一些零碎的教程,說使用java調用monkeyrunner時,需要導入android sdk  tools路徑下的lib里面的4個包:ddmlib.jar,guavalib.jar,monkeyrunner.jar,sdklib.jar.當然,這里建的是java工程,往工程里面導包就是通過:右鍵工程》propertiesJava Build PathLibrariesadd External JARsOK。如下圖:

導入之后,我簡單創(chuàng)建了一個測試類,然后添加一個MonkeyDevice對象,然后引入需要的包,結果發(fā)現報了錯誤,引用的資源找不到,根據看到的例子的提示說,需要手動添加AdbBackend.java文件到自己的工程中去。于是,我就在搜了一下,在官網上下到了這個類(官網地址:http://www.java2s.com/Open-Source/Android/android-core/platform-sdk/com/android/monkeyrunner/adb/Catalogadb.htm)添加進去,之后,MonkeyDevice問題解決了,但是,下一個問題出現了,AdbBackend的父類文件找不到,就是MonkeyRunnerBackend.java,然后我只好去搜這個文件,然后手動添加到自己的工程中(地址是:http://www.java2s.com/Open-Source/Android/android-core/platform-sdk/com/android/monkeyrunner/MonkeyRunnerBackend.java.htm)。結果這就像一個無底洞了,總是找不到最終一個文件的父類:如圖:

折騰了一番,我就感覺不應該是這樣的,不過搜索了很多零碎的資料,差不多都是跟這個方法一個意思。最后,我在一個論壇找到了一個勉強稱之為解決方法的答案。他重新給了我四個包,說是我導入的這四個包版本太新了(我的更新到android4.1)。我添加進去之后,果然能用。
這里簡單貼一下我的代碼,說一下調用問題:
復制代碼 代碼如下:

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import com.android.monkeyrunner.adb.AdbBackend;
import com.android.monkeyrunner.core.IMonkeyDevice;
import com.android.monkeyrunner.core.TouchPressType;
public class MyTest2 {
private static IMonkeyDevice device;
private static AdbBackend adb;
public static void main(String[] args) {
// TODO Auto-generated method stub
if (adb==null){
adb = new AdbBackend();
// 參數分別為自己定義的等待連接時間和設備id
device = adb.waitForConnection(8000,"MSM8225QRD5");
}
//添加啟動權限
String action = "android.intent.action.MAIN";
Collection<String> categories = new ArrayList<String>();
categories.add("android.intent.category.LAUNCHER");
// 啟動要測試的主界面,主要是配置自己的包和啟動類
device.startActivity(null, action, null, null, categories,
new HashMap<String, Object>(),"cn.com.fetion/.android.ui.activities.StartActivity", 0);
// 點擊某一個坐標
device.touch(202,258,TouchPressType.DOWN_AND_UP);

}
}
這些代碼還是比較簡單,主要注意的是兩點:1).adb.waitForConnection(a,b);這個方法里添加的是等待啟動的時間和自己的設備名字。2).startActivity()這個方法的倒數第二個參數是配置你的要測試的apk的包名和主界面,
 
運行java application就可以連上你的測試設備。其他的一些需要用到的測試方法,比如monkeyrunner中的touch,dragtype,等等,都是monkeyrunner中的方法,你也可以簡單的封裝一下就可以使用。跟使用python時,沒多少區(qū)別。
 
說到為什么要使用java語言調用monkeyrunner來寫腳本,我因為習慣了用python寫,暫時沒體會到有啥太大的優(yōu)勢,也許是工程量大時,用java更直接和便于管理,也許就是個人愛好了。這個有待以后體驗。

相關文章

  • Android使用socket進行二進制流數據傳輸

    Android使用socket進行二進制流數據傳輸

    這篇文章主要介紹了Android使用socket進行二進制流數據傳輸,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-04-04
  • Retrofit2.0 實現圖文(參數+圖片)上傳方法總結

    Retrofit2.0 實現圖文(參數+圖片)上傳方法總結

    本篇文章主要介紹了Retrofit2.0 實現圖文(參數+圖片)上傳方法總結,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • Android 啟動模式FLAG_ACTIVITY_CLEAR_TOP案例詳解

    Android 啟動模式FLAG_ACTIVITY_CLEAR_TOP案例詳解

    這篇文章主要介紹了Android 啟動模式FLAG_ACTIVITY_CLEAR_TOP案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • Android字符串和十六進制相互轉化出現的中文亂碼問題

    Android字符串和十六進制相互轉化出現的中文亂碼問題

    這篇文章主要介紹了Android字符串和十六進制相互轉化出現的中文亂碼問題的相關資料,需要的朋友可以參考下
    2016-02-02
  • Android中Fragment的生命周期與返回棧的管理

    Android中Fragment的生命周期與返回棧的管理

    這篇文章主要介紹了Android中Fragment的生命周期與返回棧的管理,舉例講解了Fragment中addToBackStack()方法的使用,需要的朋友可以參考下
    2016-02-02
  • Android ImageView 不顯示JPEG圖片的問題解決

    Android ImageView 不顯示JPEG圖片的問題解決

    本篇文章主要介紹了Android ImageView 不顯示JPEG圖片及Android Studio中如何引用圖片資源的相關知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-05-05
  • android原生JSON解析實例

    android原生JSON解析實例

    通過實例給大家詳細分析一下關于android開發(fā)原生JSON解析的問題。
    2017-11-11
  • Kotlin使用協程實現高效并發(fā)程序流程詳解

    Kotlin使用協程實現高效并發(fā)程序流程詳解

    這篇文章主要介紹了Kotlin使用協程實現高效并發(fā)程序流程,協程屬于Kotlin中非常有特色的一項技術,因為大部分編程語言中是沒有協程這個概念的。那么什么是協程呢?它其實和線程有點相似,可以簡單地將它理解成一種輕量級的線程
    2023-01-01
  • 基于Android本地代碼生成器詳解

    基于Android本地代碼生成器詳解

    本篇文章是對Android本地代碼生成器的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • Android EditText被軟鍵盤遮蓋的處理方法

    Android EditText被軟鍵盤遮蓋的處理方法

    android app新增了透明欄效果,結果發(fā)現鍵盤彈起后會遮蓋屏幕底部的EditText,沒有像想象中的調整窗口大小,并滾動ScrollView,將EditText顯示在鍵盤上方。下面小編把解決方法記錄一下,特此分享到腳本之家平臺,感興趣的朋友一起看看吧
    2016-10-10

最新評論