Ui 三重天 之重溫Uiaumator(1)

2022-02-04 14:59:37 字數 2849 閱讀 8351

移動端自動化技術和介面自動化技術是接下來需要深究和拓展的兩方面,基於之前的薄弱基礎,重溫一波,本篇內容便是android ui自動化框架uiautomantor1.

1、jdk

2、android sdk

具體的環境變數配置便不再多記。

開發編譯工具為eclipse。(可自定義)

眾所周知,ui自動化技術核心點還是定位元素,此處當然也不例外,定位元素的方式有很多,有工具、**等等;此處用的是android sdk自帶的uiautomatorviewer。

(android sdk安裝成功)位置在$\tools下:

啟動成功:

這個是該出識別頁面元素的控制項,當然也有很多控制項可以識別,此處便以uiautomator viewer為例。切記該控制項是不能滿足所有的頁面元素識別條件的。

2、手機連線電腦,adb devices確認是否連線成功。(手機開啟開發者模式,usb除錯)

3、開啟uiautomator viewer,點選該按鈕,讓控制項同步手機頁面資訊。

4、使用eclipse建立類,切記類繼承uiautomatortestcase類

插入一段簡單的**:(點選、等待)  

1

package

com.kaola;23

import

com.android.uiautomator.core.uidevice;

4import

com.android.uiautomator.core.uiobject;

5import

com.android.uiautomator.core.uiobjectnotfoundexception;

6import

com.android.uiautomator.core.uiselector;

7import

com.android.uiautomator.testrunner.uiautomatortestcase;89

import

android.os.remoteexception;

1011

public

class login extends

uiautomatortestcase

34 }

一一來進行分解:

uidevice device = getuidevice();

device.presshome();

device.wakeup();

這段**其作用在於獲取到裝置、點選home鍵和喚醒螢幕。

uiobject kaola = new uiobject(new uiselector().classname("android.widget.textview").index(8));

asserttrue("there has not be found",kaola.exists());

kaola.click();

例項化kaola 物件,classname為物件類名,index為索引。

此處有好多中定位方法,但是切記要唯一!

下方的asserttrue為斷言

例項化物件click,點選!

指令碼的靈活度還是需要自己去慢慢積累。

5、指令碼編寫完成後,為專案建立build.xml等檔案。

命令:android create uitest-project -n -t -p

此處的可使用android list target來進行獲取。

6、建立成功時候,重新整理專案,修改build.xml檔案的help為build,使用ant進行構建。

修改完成,右鍵build.xml檔案ant build進行構建。

將檔案構建成jar包。

7、將jar包傳送至手機,執行。

傳送命令:adb push d:\eclipse\work_space\uiautomator\bin\uiautomator.jar data/local/tmp

執行命令:adb shell uiautomator runtest uiautomator.jar -c com.kaola.login

ok、日後有關uiaumator、或者移動端自動化有心得便記下來。

UI「三重天」之appium(一)

這樣可以在ios,android和windows測試套件之間重用 我們無論在做什麼測試,首先要考慮的便是該工具 框架 是否真的適合自己的業務,自己的需求 顯然跨平台的優點是首選,和之前的jmeter是一樣的。我們不能被工具 框架 限制。客戶端 伺服器架構 會話 自動化始終在會話的上下文中執行。客戶端...

設計模式三重天 之三

寫作背景 一直在看關於設計模式的書並不斷的實際工作中努力實踐,同時也看到了播客園上設計模式 團隊文章熱火朝天的研究和討論。心裡非常高興,在國內設計模式的研究和使用還不是很豐富和 完善的今天,這種討論無疑會對每個園中的個體還是播客園整體實體的提公升有著重大的意義,我 非常希望以後想研究.net程式的人...

設計模式三重天 之一

寫作背景 一直在看關於設計模式的書並不斷的實際工作中努力實踐,同時也看到了播客園上設計模式 團隊文章熱火朝天的研究和討論。心裡非常高興,在國內設計模式的研究和使用還不是很豐富和 完善的今天,這種討論無疑會對每個園中的個體還是播客園整體實體的提公升有著重大的意義,我 非常希望以後想研究.net程式的人...