appium與uiautomator的區別於聯系


UiAutomator和Appium之間的區別和聯系

聯系:

在Android端,appium基於WebDriver協議,利用Bootstrap.jar,最后通過調⽤用UiAutomator的命令,實現App的自動化測試。

UiAutomator測試框架是AndroidSDK自帶的App UI自動化測試Java庫。

1、UiAutomator——基於UIAutomation的用戶界面自動化測試框架,可以跨應用工作;

2、UiAutomator只能測試Android native app

3、主要功能跟Appium類似

4、可以跨應用測試,Google原生,其穩定性和后續的維護更新可以得到保障,運行時也有更多的權限

5、可以跨進程操作;

6、運行速度快;

7、UiAutomator框架對外提供的API,主要有UiDevice、UiSelector、UiObject、UiCollection和UiScrollable等

8、使用uiautomatorviewer.bat來檢索手機界面視圖

9、支持的語言可以有python、java等,google推出的底層框架使用java編寫的,但是也有python封裝的底層框架,因此也可使用python進行自動化測試

Appium——跨平台,允許采用同一套API在不同的平台(IOS,Android)上編寫測試代碼

Appium其實是找了一個中間件Bootstrap,Bootstrap是一個Uiautomator的測試腳本,UiAutomator可以正常運行它,它也可以正常的使用UiAutomator的方法,這個就是Appium的命令可以轉換成UiAutomator命令的關鍵。

Appium可以跨平台跨語言,將腳本通過Appiumserver發送給Bootstrap,然后再運行,所以,相當於Appium封裝了UiAutomator,功能更強大。

1、Appium是基於UIAutomator框架實現的一個開源、跨平台的測試框架。支持跨平台它允許測試人員在不同的平台iOS或Android使用同一套API來寫自動化測試腳本,可以增加iOS和Android測試套件間代碼的復用性。支持多語言如:java、python;

2、Appium測試相當於黑盒測試,測試UI邏輯正確性獲取一個AppiumDriver對象。該對象只是有很多findElements()的方法,獲取到UI元素。UI元素是WebElement,這個類提供的方法基本是獲取信息為主,比如獲取name,class,location,text,isSlected,isTouched等信息。這個測試框架,只是測試UI邏輯的正確性;

3、在運行腳本上執行速度較慢,沒有uiautomator的執行速度快;

4、appium使用的是Client/Server的設計模式,實現跨平台,多語言。只要client能夠發送http請求給server,那么的話client用什么語言來實現都是可以的,通過Python(python-client )編寫了一個appium自動化腳本並執行,appium-Server通過解析,驅動iOS設備來執行appium自動化腳本。或者,我在Windows平台上,通過Java( java-client )編寫了一個appium自動化腳本並執行,請求會首先到 appiumForWindow.zip(Window下的appium-Server),appium-Server通過解析,驅動Android虛擬機或真機來執行appium腳本。所以,你會看到appium的強大之處就在於此。

 

轉自:https://blog.csdn.net/yongwan5637/article/details/79879774


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM