1. 程式人生 > >uiautomator2.0的配置的兩種方法

uiautomator2.0的配置的兩種方法

方法一(使用線上下載的方式匯入依賴):

1.首先建立專案工程,建立的專案的android_api版本要與測試的android_api版本一致(24就是24 ,不能26或者17去相容)

2.然後就是將本地的SDK新增到AS中

   2.1(新增SDK):

   

   2.2(新增SDK):

    

3.在SDK下載內容

   3.1:

   

   3.2:

    

   3.3:

   

 4.配置build.gradle

  4.1.配置APP目錄下的build

  

   4.2配置內容(新增配置標註的內容,其他內容不變動)

   

     4.3.配置檔案

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    //    testCompile 'junit:junit:4.12'
    androidTestCompile('com.android.support.test:runner:0.5', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'  //這個需要依據android版本變化
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.0'
}

   5.同步依賴



方法二(手動匯入依賴):

一、前期準備

 在此之前先將Android studio 環境安裝搭建好,搭建好後接下來需要uiautomator2 jar包,這裡就為大家提供了,
 可以自行到這裡下載 http://pan.baidu.com/s/1pJX6kiB  解壓后里面檔案有一下內容

這裡寫圖片描述

這些jar包是UiAutomator2的需要用到的jar包

二、開始建工程

開啟Android Studio(一下統稱AS),File——》new——》new project 如圖

這裡寫圖片描述

出現以下介面

這裡寫圖片描述

根據自己需求修改引數 ,下一步

這裡寫圖片描述

下一步

這裡寫圖片描述

下一步

這裡寫圖片描述

完成

這裡寫圖片描述

好啦工程就弄好了 
可以下載到虛擬機器看一下是否成功

第三步、配置UiAutomator2環境

首先匯入包,將上面的lib.zip檔案解壓到工程目錄下

這裡寫圖片描述

重新整理工程就可以看到

這裡寫圖片描述

將jar包匯入工程 ,選擇所有jar包,點選右鍵,選擇add as library

這裡寫圖片描述

出現小介面,選擇App,點選OK

這裡寫圖片描述

現在就可以成功匯入了 
我們可以去工程檔案app目錄下的build.gradle檔案看到

這裡寫圖片描述

上面就是剛才加入的jar 
現在就可以進行uiautomator2 的測試程式編寫了 
為了更好觀察和編寫,先進行切換顯項

這裡寫圖片描述

這裡寫圖片描述

這樣工程介面就簡潔很多了 
我們可以看到上面紅框,字尾android test,我們的測試工程就是在這個檔案編寫的

這裡寫圖片描述

點選那個路徑,右鍵 new ——》java class

這裡寫圖片描述

出現建立新的類檔案介面,寫入名字後可以看到添加了一個

這裡寫圖片描述

點開uiaut檔案,就可以在裡面編寫工程了 
下面是我寫的一個工程

這裡寫圖片描述

程式碼如下

/**
 * Created by LENOVO on 2016/1/21.
 */
@RunWith(AndroidJUnit4.class)
public class uiaut {

    UiDevice device;
    Instrumentation instrumentation;
@Before
public void setUp(){

instrumentation = InstrumentationRegistry.getInstrumentation();
device = UiDevice.getInstance(instrumentation);
    }
@Test
public void testSettext(){
        UiObject2 sendMessage = device.findObject(By.res("com.android.mms:id/embedded_text_editor"));
        sendMessage.setText("new set text");
        sleep(2000);
        sendMessage.clear();
        sleep(2000);
        sendMessage.setText("old set text");
    }

public void sleep(int mint){
try {
                Thread.sleep(mint);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

這樣工程就算完成了 
解析來還得要配置,更好的除錯,這也是AS強大的地方 
Run——》Edit Configuration

這裡寫圖片描述

點選+, 選擇Android Tests

這裡寫圖片描述

這裡寫圖片描述

差不多完成了,還需要配置一個地方

這裡寫圖片描述

需要在build.gradle檔案defaultConfig下,加入這一句

testInstrumentationRunner ="android.support.test.runner.AndroidJUnitRunner"
  • 1

這樣就可以啦

先開啟虛擬器這裡寫圖片描述

啟動虛擬器

這裡寫圖片描述

由於上面的測試工程是向簡訊輸入框輸入內容的,所以我先開啟簡訊的傳送介面 
一切準備好,那就運行了

這裡寫圖片描述

可以看裝置有變化