<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Android 手機自動化測試工具有哪幾種

lhl545545 ? 來源:電子發燒友網 ? 2018-02-06 15:35 ? 次閱讀

Android 手機自動化測試工具有哪幾種

1、Monkey是Android SDK自帶的測試工具,在測試過程中會向系統發送偽隨機的用戶事件流,如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試,也有日志輸出。實際上該工具只能做程序做一些壓力測試,由于測試事件和數據都是隨機的,不能自定義,所以有很大的局限性。

2、MonkeyRunner也是Android SDK提供的測試工具。嚴格意義上來說MonkeyRunner其實是一個Api工具包,比Monkey強大,可以編寫測試腳本來自定義數據、事件。缺點是腳本用Python來寫,對測試人員來說要求較高,有比較大的學習成本。

3、Instrumentation是早期Google提供的Android自動化測試工具類,雖然在那時候JUnit也可以對Android進行測試,但是Instrumentation允許你對應用程序做更為復雜的測試,甚至是框架層面的。通過Instrumentation你可以模擬按鍵按下、抬起、屏幕點擊、滾動等事件。Instrumentation是通過將主程序和測試程序運行在同一個進程來實現這些功能,你可以把Instrumentation看成一個類似Activity或者Service并且不帶界面的組件,在程序運行期間監控你的主程序。缺點是對測試人員來說編寫代碼能力要求較高,需要對Android相關知識有一定了解,還需要配置AndroidManifest.xml文件,不能跨多個App。

4、UiAutomator也是Android提供的自動化測試框架,基本上支持所有的Android事件操作,對比Instrumentation它不需要測試人員了解代碼實現細節(可以用UiAutomatorviewer抓去App頁面上的控件屬性而不看源碼)?;?a href="http://www.qd573.com/v/tag/852/" target="_blank">Java,測試代碼結構簡單、編寫容易、學習成本,一次編譯,所有設備或模擬器都能運行測試,能跨App(比如:很多App有選擇相冊、打開相機拍照,這就是跨App測試)。缺點是只支持SDK 16(Android 4.1)及以上,不支持Hybird App、WebApp。

5、Espresso是Google的開源自動化測試框架。相對于Robotium和UIAutomator,它的特點是規模更小、更簡潔,API更加精確,編寫測試代碼簡單,容易快速上手。因為是基于Instrumentation的,所以不能跨App。配合Android Studio來編寫測試的簡單例子

6、Selendroid:也是基于Instrumentation的測試框架,可以測試Native App、Hybird App、Web App,但是網上資料較少,社區活躍度也不大。

7、Robotium也是基于Instrumentation的測試框架,目前國內外用的比較多,資料比較多,社區也比較活躍。缺點是對測試人員來說要有一定的Java基礎,了解Android基本組件,不能跨App。

8、Athrun是淘寶出的一個移動測試框架/平臺,同時支持iOS和Android。Android部分也是基于Instrumentation,在Android原有的ActivityInstrumentationTestCase2類基礎上進行了擴展,提供一整套面向對象的API。這里有詳細介紹。

9、Appium是最近比較熱門的框架,社區也很活躍。這個框架應該是是功能最強大的,

它的優點:

開源;

支持Native App、Hybird App、Web App;

支持Android、iOS、Firefox OS;

Server也是跨平臺的,你可以使用Mac OS X、Windows或者Linux;

它的哲理是:

用Appium自動化測試不需要重新編譯App;

支持很多語言來編寫測試腳本,Java、Javascript、PHP、Python、C#、Ruby等主流語言;

不需要為了自動化測試來重造輪子,因為擴展了WebDriver。(WebDriver是測試WebApps的一種簡單、快速的自動化測試框架,所以有Web自動化測試經驗的測試人員可以直接上手);

移動端自動化測試應該是開源的;

它的設計理念:

Client/Server架構,運行的時候Server端會監聽Client端發過來的命令,翻譯這些命令發送給移動設備或模擬器,然后移動設備或模擬器做出響應的反應。正是因為這種架構,所以Client可以使用Appium client libraries多種語言的測試腳本,而且Server端完全可以部署在服務器上,甚至云服務器。

Session,每個Client連接到Server以后都會有一個Session ID,而且Client發送命令到Server端都需要這個Session ID,因為這個seesion id代表了你所打開的瀏覽器或者是移動設備的模擬器。所以你甚至可以打開N個Session,同時測試不同的設備或模擬器。

Desired Capabilities,其實就是一個鍵值對,設置一些測試的相關信息來告訴Server端,我們需要測試iOS、還是Android,或者換是WebApp等信息。

Appium Server是Node.js寫的,所以可以直接用NPM來進行安裝。

Appium Clients,Mac OS和Win下提供GUI,不需要裝Node.js,方便測試人員操作。

相關限制:

如果你在Windows使用Appium,你沒法使用預編譯專用于OS X的.app文件,因為Appium依賴OS X專用的庫來支持iOS測試,所以在Windows平臺你不能測試iOS Apps。這意味著你只能通過在Mac上來運行iOS測試。

總結:

在iOS部分是封裝了UIAutomation;Android 4.2以上是用UiAutomator,Android 2.3 ~ 4.1用的是 Instrumentation,也就說Appium同時封裝了UiAutomator和Instrumentation。所以Appium擁有了以上幾大框架的所有優點:跨App,支持Native App、Hybird App、Web App,還支持N種語言來編寫你的測試腳本。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 自動化測試
    +關注

    關注

    0

    文章

    175

    瀏覽量

    26801
  • Android
    +關注

    關注

    12

    文章

    3876

    瀏覽量

    125817
收藏 人收藏

    評論

    相關推薦

    變壓器的調壓方式有哪幾種?

    常見的大功率級別的調壓方式有哪些? 變壓器調壓又分為哪幾種形式? 調壓入合調壓出合調壓入分調壓出分這幾個概念分別是什么意思?
    發表于 02-21 15:11

    Eggplant—HMI自動化測試軟件

    Eggplant是英國TestPlant公司推出的創新性自動化測試工具。通過VNC或RDP通訊技術遠程桌面連接被測對象,基于圖像和文字識別算法進行對象定位,進而驅動和確認被測HMI設備的響應,能夠
    的頭像 發表于 01-23 18:00 ?265次閱讀

    網絡安全測試工具有哪些類型

    可以分為以下幾大類型: 漏洞掃描器 漏洞掃描器是一類常見的網絡安全測試工具,用于檢測系統、網絡和應用程序中存在的各種漏洞和安全風險。這些工具通過自動化掃描和分析目標系統中的配置和代碼,查找已知的漏洞,并生成詳
    的頭像 發表于 12-25 15:00 ?665次閱讀

    HMDS與BARC一定要除去嗎?有哪幾種去除的方式?

    HMDS,BARC是光刻工序中比較常用的化學品,但是它們并不能用顯影液除去,根據是什么?它們一定要除去嗎?有哪幾種去除的方式?
    的頭像 發表于 12-22 10:29 ?725次閱讀
    HMDS與BARC一定要除去嗎?有<b class='flag-5'>哪幾種</b>去除的方式?

    為什么要測試回路電阻?常見的回路電阻測試方法有哪幾種?

    為什么要測試回路電阻?常見的回路電阻測試方法有哪幾種? 測試回路電阻是電氣工程中的一項基本檢測和分析工作,它在確保電路運行安全和有效的同時,還可以幫助分析和診斷電路存在的問題。在此文章
    的頭像 發表于 12-19 15:04 ?1340次閱讀

    mcb是什么開關?有哪幾種類型?

    mcb是什么開關?有哪幾種類型? MCB是Miniature Circuit Breaker的縮寫,翻譯過來就是微型斷路器。它是用于電氣系統中的電路保護設備,用于斷開過載電流和短路電流。MCB具有
    的頭像 發表于 12-09 17:19 ?3264次閱讀

    什么是步進電機?步進電機分哪幾種?

    電子發燒友網站提供《什么是步進電機?步進電機分哪幾種?.pdf》資料免費下載
    發表于 11-28 14:21 ?1次下載
    什么是步進電機?步進電機分<b class='flag-5'>哪幾種</b>?

    電容器的補償方式有哪幾種?

    電容器在電子領域中使用十分普遍,而在它的使用過程中,為了保證電路可靠性和性能穩定,電容器的補償就變得尤為重要。那么,電容器的補償方式有哪幾種呢?
    的頭像 發表于 11-16 15:12 ?1949次閱讀

    請問MMF103的SPI支持哪幾種模式?

    MMF103的SPI支持哪幾種模式?
    發表于 11-02 06:38

    硅片有哪幾種晶向?有幾種定位邊?定位邊是如何定位的?

    硅片是大多數芯片的載體。但是一塊硅片中卻隱藏了很多不為人知的細節,比如:硅片有哪幾種晶向?有幾種定位邊?定位邊是如何定位的?定位邊與定位槽有什么區別?等等。今天就來詳細講解一下。
    的頭像 發表于 10-29 10:33 ?5677次閱讀
    硅片有<b class='flag-5'>哪幾種</b>晶向?有<b class='flag-5'>幾種</b>定位邊?定位邊是如何定位的?

    數控機床高速電主軸有哪幾種工作原理?

    數控機床高速電主軸有哪幾種工作原理?|深圳恒興隆機電
    的頭像 發表于 10-17 10:13 ?951次閱讀

    EMI濾波器有哪幾種應用和選擇?

    EMI濾波器有哪幾種應用和選擇?|深圳比創達EMC
    的頭像 發表于 10-09 10:32 ?993次閱讀
    EMI濾波器有<b class='flag-5'>哪幾種</b>應用和選擇?

    以太網接口分為哪幾種接口?車載以太網接口分為哪幾種接口?

    以太網接口有哪些?以太網接口分為哪幾種接口?車載以太網接口分為哪幾種接口? 以太網接口是計算機網絡中最常用的接口類型。它是一種基于局域網(LAN)的標準通信協議,用于在網絡中傳輸數據。由于以太網接口
    的頭像 發表于 08-31 16:56 ?3991次閱讀

    消防應急燈具按用途分為哪幾種?

    消防應急燈具按用途分為哪幾種? 消防應急燈具是一種特殊的燈具,廣泛用于消防、救援等場合。消防應急燈具按照用途的不同,可以分為多種類型。在本文中,我們將為您詳細介紹消防應急燈具按用途分為哪幾種,并為
    的頭像 發表于 08-18 11:57 ?2327次閱讀

    充電樁配合使用的變壓器有哪幾種

    充電樁配合使用的變壓器有哪幾種 充電樁是對電動汽車進行充電的重要設備,而變壓器則是充電樁的配套設備之一。變壓器在充電樁的使用中扮演著重要的角色,它可以將高電壓轉換為適用于電動汽車的低電壓,確保充電
    的頭像 發表于 08-18 10:54 ?3351次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>