1. 程式人生 > >Appium+java+Android二(uiautomatorviewer定位手機頁面元素+用Java編寫自動化測試用例)

Appium+java+Android二(uiautomatorviewer定位手機頁面元素+用Java編寫自動化測試用例)

uiautomatorviewer定位手機頁面元素+編寫自動化測試用例

如何安裝及搭建appium的環境請參考我的上篇部落格appium+java+Android環境搭建
uiautomatorviewer工具是用來給手機頁面元素定位的,所以在使用uiautomatorviewer之前,我們要先做好手機連線上了電腦的準備。用USB資料線連線手機和電腦,開啟USB除錯功能(友情提醒,小米手機需要開啟開發者模式才能開啟USB除錯,具體如何開啟開發者模式,就網上百度一下。而且最好進入開發者模式把最下面的minu優化關掉,不然可能連不上電腦。)開啟cmd,輸入adb devices 如果顯示attached和手機標識那就說明連線成功。(手機標識後面編寫測試用例時會用到)
在這裡插入圖片描述

一.使用uiautomatorviewer工具

開啟SDK的安裝路徑,在tools資料夾裡面找到uiautomatorviewer
在這裡插入圖片描述
在這裡插入圖片描述
點選uiautomatorviewer,uiautomatorviewer會彈出一個黑色的介面,然後是一個白色的介面,說明uiautomatorviewer成功啟動了。白色的介面如下:
在這裡插入圖片描述
點選箭頭所指的圖示,在點選之前先確保你的手機已經連上了電腦並且打開了除錯模式,這時候uiautomatorviewer介面會顯示你手機開啟的介面,如圖(因為筆者是準備先寫一個自動撥打電話的測試用例,所以以此頁面為例)
在這裡插入圖片描述
接下來就要定位元素了,因為我們寫的是自動撥號用例,所以要先進行對各個數字的元素定位,比如我們要撥號數字一,我們就定位數字1的resource-id,如圖
在這裡插入圖片描述


其他的元素也可以按照這種方式定位。定位好了各個元素之後我們接下來就該寫測試用例了,首先先下載一個eclipse,按照提示一步步安裝就好了,為了方便我們這裡用maven專案實現用例的編寫。那麼如何建立一個maven專案呢?看第二步

二.用eclipse建立maven專案

注意建立maven專案之前要先配置maven環境,具體怎麼配置去網上看看,教程很多。配置好了之後就可以建立maven專案了。
首先開啟eclipse,選擇file-new-other來到如下介面,尋找到maven project,點選next

在這裡插入圖片描述
然後選擇第一個打鉤
在這裡插入圖片描述
再點next,填了Group id和Artifact id就點選finish
在這裡插入圖片描述


一個maven專案就建立好了。
建立好了之後可以導包了,由於我們用的是maven,所以用dependency依賴進行導包就可以了,具體在pom.xml中新增如下依賴

	<dependency>
		<groupId>org.testng</groupId>
		<artifactId>testng</artifactId>
		<version>6.11</version>
		<scope>test</scope>
	</dependency>

	<dependency>
		<groupId>org.seleniumhq.selenium</groupId>
		<artifactId>selenium-java</artifactId>
		<version>2.53.0</version>
	</dependency>

	<dependency>
		<groupId>io.appium</groupId>
		<artifactId>java-client</artifactId>
		<version>4.1.2</version>
	</dependency>

	<dependency>
		<groupId>com.beust</groupId>
		<artifactId>jcommander</artifactId>
		<version>1.30</version>
	</dependency>
</dependencies>

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>2.3.2</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
			</configuration>
		</plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-surefire-plugin</artifactId>
			<version>2.12</version>
			<inherited>true</inherited>
			<!-- <configuration> <suiteXmlFile>testng.xml</suiteXmlFile> </configuration> -->
		</plugin>
	</plugins>
</build>

注:新增該依賴前,在這個程式碼的前端加入一個標籤,我剛剛複製程式碼時漏掉了,如圖:
在這裡插入圖片描述
這樣,selenium和appium的jar包都導進去了,如此還是沒有好,接下來還要下載一個testNG外掛,testNG外掛是eclipse裡面的一個用來測試的外掛。
首先點選help然後選擇eclipse marketpalce,找到testNG
在這裡插入圖片描述
第二個就是了,點選install,按照提示安裝。所有準備工作做好之後就可以開始編寫測試用例了。

三.編寫手機自動撥號的自動化測試用例

首先建立一個類NewTest,因為我們是控制特定的手機,所以必須獲取手機的型號及手機當前程序的包名和活動名
獲取手機標識:adb devices
在這裡插入圖片描述
獲取包名活動名:adb shell dumpsys window w |findstr / |findstr name
在這裡插入圖片描述
下面我把我的程式碼貼上來
在這裡插入圖片描述
在這裡插入圖片描述
接下來手機就可以自動撥打電話了