Android自動化測試uiautomator入門

一、準備jar包

在sdk的platforms子目錄下找到對應android系統版本的sdk,我這裏模擬器中啓動的是android4.4.2,所以我選擇的是android-19,取得該目錄下的兩個jar包

1、android.jar

2、uiautomator.jar

這裏寫圖片描述

二、創建java project

打開eclipse,新建java project,把上一步中取得的jar包添加到依賴。
新建一個package(例:com.xyh),創建一個java類(繼承UiAutomatorTestCase),創建一個以test爲前綴的測試方法,例:

package com.xyh;

import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;

public class TestUIAutomation extends UiAutomatorTestCase {
    public void testBrowser() throws UiObjectNotFoundException{

    }
}

打開genymotion,啓動android模擬器:

這裏寫圖片描述

打開cmd,執行uiautomatorviewer.bat(該腳本位於sdk目錄的tools子目錄下,需要加入環境變量,或者cd到該目錄執行),打開成功後會出現該界面:

這裏寫圖片描述

點擊上圖中小圖標,會出現模擬器中的android系統界面:

這裏寫圖片描述

我們這裏以打開瀏覽器,進去www.qq.com網站的一個自動化腳本爲例,so,在uiautomatorviewer中點擊瀏覽器圖標,然後我們可以在node detail中看到該控件結點的詳細信息,記下text信息,後面腳本代碼中會用到:

這裏寫圖片描述

然後在模擬器中打開瀏覽器,再回到uiautomatorviewer中點擊瀏覽器的地址輸入框,可以在node detail中看到該控件結點的詳細信息,記下class信息,後面腳本代碼中會用到:

這裏寫圖片描述

準備工作都做好了,現在我們來編寫我們的測試腳本:

package com.xyh;

import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;

public class TestUIAutomation extends UiAutomatorTestCase {
    public void testBrowser() throws UiObjectNotFoundException{
        UiObject browserObject = new UiObject(new UiSelector().text("瀏覽器"));
        browserObject.clickAndWaitForNewWindow();
        UiObject editObject = new UiObject(new UiSelector().className("android.widget.EditText"));
        editObject.click();
        UiDevice.getInstance().pressDelete();
        editObject.setText("www.qq.com");
        UiDevice.getInstance().pressEnter();
        sleep(2000);
    }
}

三、生成build.xml

打開cmd命令行,cd到java project(該腳本工程所在)目錄,執行:

android create uitest-project -n demo -t 1 -p E:\android—_project\Demo

-n:生成的jar名字

-t:使用的target id(可以執行adb list targets查看)

-p:java project目錄

執行成功後會輸出:Added file E:\android—_project\Demo\build.xml,在我們的java project目錄下會多出一個build.xml文件。

四、生成jar

切換回eclipse中,在java project中找到並打開build.xml,修改頭部project標籤的default屬性爲build,點擊run,選擇ant build,直至console輸出BUILD SUCCESSFUL並在工程bin目錄底下生成demo.jar文件。

五、拷貝到android手機並執行

1、拷貝demo.jar到手機/data/local/tmp/目錄:

adb push demo.jar /data/local/tmp/

2、執行自動化腳本

adb shell uiautomator runtest demo.jar -c com.xyh.TestUIAutomation

這時候我們就會看到手機自動打開瀏覽器並且進入QQ官網首頁。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章