日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android ui自动化测试框架有哪些,自动化测试框架对比(UIAutomator、Appium、Robotium)...

發布時間:2025/3/20 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android ui自动化测试框架有哪些,自动化测试框架对比(UIAutomator、Appium、Robotium)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、原理

1.UiAutomator——基于UIAutomation的用戶界面自動化測試框架,可以跨應用工作,谷歌親生的。

Android4.3之前:使用inputManager或者更早的WindowsManager來注入KeyEvent

Android4.3之后:使用Accessibility APIs來注入事件。(AccessibilityService本來是做一些輔助功能的,提供了一系列的事件回調,幫助我們指示一些用戶及界面的狀態變化,主要給殘障人群提供幫助。)

2.Robotium——基于Instrumentation開發出來的一套測試框架

Instrumentation可以把測試包和目標測試應用加載到同一個進程中進行。既然各個控件和測試代碼都運行在同一個進程中了,測試代碼當然就可以調用這些控件的方法了,同時修改和驗證這些控件的一些項就不在話下了。

Instrumentation的運行原理:InstrumentationTestRunner會在目標應用代碼運行之前調用onCreate方法建立一個新的線程并為這個線程添加一個消息隊列,這個線程循環處理其他線程發過來的消息事件,并與之進行交互。

跨應用:Android4.3之后Instrumentation引入了getUiAutomation接口的實例進行跨應用測試。

3.Appium——跨平臺,允許采用同一套API在不同的平臺(IOS,Android)上編寫測試代碼,讓測試套件在IOS和Android平臺上實現代碼復用成為可能。

Appium的核心是一個暴露了REST API的網絡服務器。這個服務器接收客戶端過來的連接,監聽客戶端過來的命令,在移動設備上運行命令,然后把代表命令運行結果的HTTP響應包發送回客戶端。

二、優缺點對比

UiAutomator

Robotium

Appium

是否支持設備無源碼測試(黑盒測試)

能否進行跨應用測試

不能

是否是谷歌原生

不是

不是

支持編程語言

Java

Java

幾乎所有語言

是否有簽名一致的問題

是否需要解決中文輸入問題

建議開發團隊增加的控件信息

Content Description

resource-id

Content Description

是否需要API17及以上

Junit支持版本

Junit4

Junit3

Junit3/Junit4

是否支持webview

支持平臺

Android

Android

IOS

三、補充內容——Android三種注入事件的方式

1、使用內部APIs(內部API是谷歌沒有對外開放的代碼,存在一定的風險)

通過獲得WindowManager的一個實例來訪問injectKeyEvent/injectPointerEvent這兩個事件注入方法。

在應用內可正常工作,在應用外不能正常工作(INJECT_EVENTS是需要系統權限的)。

2、使用instrumentation對象(開放的API,比內部API干凈)

通過instrumentation的一個實例來訪問injectEvent,同上面的內部APIs的方法。

所以在應用內部可以正常的工作,在應用外部不嫩正常的工作。

3、直接注入事件到設備 /dev/input/eventX

linux以系統設備的方式向用戶暴露了一套統一的事件注入接口 /dev/input/eventX(其中X代表一個整數)。我們可以直接調用。

需要rooted過的設備,如:

adb shell

su

http://blog.csdn.net/lv18092081172/article/details/52123470

chmod 666 /dev/input/event3

總結

以上是生活随笔為你收集整理的android ui自动化测试框架有哪些,自动化测试框架对比(UIAutomator、Appium、Robotium)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。