Uiautomator通過CTSHelper類查看完美報告--小白上手

Uiautomator通過CTSHelper類查看完美報告

一.CTS下載配置

1.下載android-cts;

Cts官網下載地址:https://source.android.com/compatibility/cts/downloads.html(需要能上谷歌才能下載);

或從百度雲下載:鏈接:http://pan.baidu.com/s/1bpMdhj5密碼:k7np;大家根據自己手機版本下載只下載文件中android-cts-4.4_r4-linux_x86-arm文件即可;

2. CTS位置

         下載下來之後解壓文件,將解壓後的android-cts放置在android-sdk路徑下:

 

3.建立run-cts.bat文件

在android-cts\tools下新建一個記事本,內容如下所示,最後保存爲run-cts.bat:

(以下都是基於4.4來說,5.0設置方式一樣,只是tools中的jar包數量不一樣)


(1)cd D:\javadev\android-sdk-windows\android-cts\tools //寫自己的tools路徑

(2)set path=D:\javadev\Java\jdk1.7.0_10;D:\javadev\Java\jre7\bin //寫自己當時jdk和jre的路徑

(3)java -cpcts-tradefed.jar;ddmlib-prebuilt.jar;hosttestlib.jar;junit.jar;tradefed-prebuilt.jar//輸入自己cts\tools下所有的jar文件名,中間以分號隔開;

(4)-DCTS_ROOT="D:\javadev\android-sdk-windows"com.android.cts.tradefed.command.CtsConsole //固定格式,中間寫自己的sdk路徑;

最後保存以上名爲run-cts.bat,以後就可以點擊直接啓動了;

4.啓動run-cts.bat

         配置好之後,直接雙擊run-cts.bat,發現提示Unable tolocate adb.此時我們將android-sdk-windows\platform-tools目錄中的adb有關項全部粘貼過來,重新啓動run-cts.bat即可;


二.工程中CTS配置

1.下載CTSHelper.java類

         可以從網上搜,要注意網上有的CTSHelper類中有錯,建議大家下載CTSHelper.java之後,先全面搜索(worksapec)如果搜到改成workspace;

         網盤共享:http://pan.baidu.com/s/1bpMdhj5密碼:k7np (和cts文件夾都在一個分享中);

         下載之後同樣方式放在我們項目的包下:


CTSHelper.java類中參數都不用設置;

2.修改TestClass中main方法

         這次我們要通過cts去看測試結果,所以我們要修改一些TestClass中相應信息;

整個TestClass類中代碼,全部粘過去即可

package testPackage;

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 TestClass extends UiAutomatorTestCase {

	/*
	 * public void clickTimer() throws UiObjectNotFoundException {
	 * //通過text去定位手機界面的“時鐘” UiObject clock = new UiObject(new
	 * UiSelector().text("時鐘")); clock.click(); //點擊時鐘 }
	 */

	/*
	 * //通過UiAutomatorHelper方法去執行,在控制檯能看到各種信息 public static void main(String[]
	 * args) { // // 生成的包名,包名.類名;運行的測試用例,Android的編號 new
	 * UiAutomatorHelper("AutoRunner", "testPackage.TestClass", "clickTimer",
	 * "1"); }
	 */
	// CTS執行測試用 例不會按照順序執行,他會按照字母開頭去執行,所以我們故意把順序寫亂
	public void testCaseB() {
		UiDevice.getInstance().pressBack(); // 返回上一級
		System.out.println("以上是返回上一級的意思");
	}

	public void testCaseD() {
		UiDevice.getInstance().pressMenu();
		System.out.println("以上是點擊菜單的意思");
	}

	public void testCaseC() {
		UiDevice.getInstance().pressHome();
		System.out.println("以上是點擊主頁的意思");
	}

	public void testCaseA() throws UiObjectNotFoundException {
		// 通過text去定位手機界面的“時鐘”
		UiObject clock = new UiObject(new UiSelector().text("時鐘"));
		clock.click(); // 點擊時鐘
		System.out.println("點擊手機界面的:時鐘;");
	}

	// 通過CTSHelper方法去執行,控制檯中看不到信息,cts調試main方法的參數配置信息
	public static void main(String[] args) {

		new UiAutomatorHelper("AutoRunner", "run.RunGld", "lk_Case_Game_Recommend", "1");
		String workspase, className, jarName, androidId, sdkpath;
		workspase = "F:\\lianxi\\workspace\\GldProject"; // 工程路徑,右擊項目名-Properties,查看路徑,注意路徑寫雙斜槓
		className = "testPackage.TestClass"; // 包名.類名
		jarName = "AutoRunner"; // 要生成的jar包名字
		androidId = "1"; // android list的id值
		sdkpath = "D:\\javadev\\android-sdk-windows"; // android-skd的路徑,注意路徑間是雙斜槓
		CtsHelper cts = new CtsHelper(workspase, className, jarName, androidId, sdkpath);
		cts.setDevices("W8AEVGTCZT9SMNIF"); // 真機設備信息,從cts\tools目錄下運行run-cts.bat查看設置信息
		cts.runTest();
	}

}


(1)main方法中workspace值

         右擊工程名字GldProject,選擇Properties-Location,就是工作空間地址;注意使用路徑時,中間採用雙斜槓:

(2)main方法中cts.setDevices值

         找android- cts\tools中運行run-cts.bat,啓動之後就能看到設備信息:

3.運行測試用例TestClass類

         TestClass當前頁右擊-RunAs-Java Application;


4.控制檯運行結果

         從結果中我們可以很清楚看到,執行的測試用例以及測試結果,同時我們還可以在本地看到device_logcat和host_log的日誌,報告中都詳細描述了。

         將file://地址粘貼到瀏覽器,我們就能很清楚的看到測試報告;

5.查看運行報告

 將運行結果中file://粘貼到瀏覽器中,直接回車查看,見下:


        

 

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