日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Android自動(dòng)化測(cè)試之使用java調(diào)用monkeyrunner(補(bǔ)充篇)

 昵稱3884271 2015-11-25

上一篇使用java調(diào)用monkeyrunnerhttp://www.cnblogs.com/nuliniaoboke/archive/2012/11/23/2784385.html)中遺留了一個(gè)問題,就是上次用的是低版本的4個(gè)包解決的問題,使用高版本的jar包怎么調(diào)用monkeyrunner呢?

經(jīng)過一位朋友的提示說,現(xiàn)在高版本的方法已經(jīng)變了,我就按照他的提示,上網(wǎng)搜了一下需要的類,測(cè)試通過后,特寫此補(bǔ)充篇總結(jié)一下。

上次使用的是android sdk  tools路徑下的lib里面的4個(gè)包:ddmlib.jar,guavalib.jar,monkeyrunner.jar,sdklib.jar.而更新后的版本需要添加另外一個(gè)包就是:chimpchat.jar,monkerunner.jar這個(gè)包倒不是必須的了。另外,低版本中是用AdbMonkeyDevice實(shí)現(xiàn)IMonkeyDevice,高版本中沒有這兩個(gè)類了,用的AdbChimpDeviceIchimpDevice
而通過查看AdbChimpDevicehttp://code.google.com/p/aster/source/browse/src/com/android/chimpchat/adb/AdbChimpDevice.java?r=967f7f8cd6249c69e00c6de7ff1b55bd0f51d311 )和IchimpDevicehttp://code.google.com/p/aster/source/browse/src/com/android/chimpchat/core/IChimpDevice.java?r=967f7f8cd6249c69e00c6de7ff1b55bd0f51d311 )這兩個(gè)類在官方的源碼,就不難發(fā)現(xiàn),AdbChimpDevice實(shí)現(xiàn)了IchimpDevice這個(gè)接口,不過連接方法還是通過AdbBackend,通過adb方式連接模擬器,或者真機(jī)。只是Device的父類發(fā)生了變化。
下面還是用以前的測(cè)試類,進(jìn)行稍微改變一下,就可以看出兩者的不同:
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import com.android.chimpchat.adb.AdbBackend;
import com.android.chimpchat.adb.AdbChimpDevice;
public class TestNewMonkeyrunner {
    /**
     * @param args
     */
     //這里有變化
    private static AdbChimpDevice device;
    private static AdbBackend adb;


    public static void main(String[] args) {
       // TODO Auto-generated method stub


        if (adb==null){ 
             adb = new AdbBackend(); 
             //      參數(shù)分別為自己定義的等待連接時(shí)間和設(shè)備id 
              //這里需要注意一下adb的類型
             device = (AdbChimpDevice) adb.waitForConnection(8000,"MSM8225QRD5");
         } 
        //添加啟動(dòng)權(quán)限
           String action = "android.intent.action.MAIN";   
            Collection<String> categories = new ArrayList<String>();   
            categories.add("android.intent.category.LAUNCHER");
    //              啟動(dòng)要測(cè)試的主界面
            device.startActivity(null, action, null, null, categories,   
            new HashMap<String, Object>(),"cn.com.fetion/.android.ui.activities.StartActivity", 0); 
     //           點(diǎn)擊某一個(gè)坐標(biāo)
//touch方法略有變化           
      device.touch(202,258,com.android.chimpchat.core.TouchPressType.DOWN_AND_UP);     
    }      


    }
從上面可以看出,高版本與低版本的變化,并不是很多。只要連接上設(shè)備,一些需要用到的操作方法,自己可以去源碼里面看,也可以自己重寫一些常用的方法。
源碼里的注釋是非常詳細(xì),比如IchimpDevice接口類中的startActivity方法:
void startActivity(@Nullable String uri, @Nullable String action, 
            @Nullable String data, @Nullable String mimeType, 
            Collection<String> categories, Map<String, Object> extras, @Nullable String component, 
            int flags); 

 
    /**
 
     * Send a broadcast intent to the device. 
     * 
     * @param uri the URI for the Intent 
     * @param action the action for the Intent 
     * @param data the data URI for the Intent 
     * @param mimeType the mime type for the Intent 
     * @param categories the category names for the Intent 
     * @param extras the extras to add to the Intent 
     * @param component the component of the Intent 
     * @param flags the flags for the Intent 
     */ 

對(duì)各個(gè)參數(shù)解釋的都很清楚。所以,建議在研究java調(diào)用monkeyrunner問題的朋友們,不要忘了源碼這個(gè)最好的資源。

 首發(fā)地址: http://www./thread-232303-1-1.html

追Windows8應(yīng)用浪潮,做微軟首批開發(fā)者

http://wp./thread-9325-1-1.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多