<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          淺談移動端自動化測試框架和工具

          共 2199字,需瀏覽 5分鐘

           ·

          2020-07-28 12:57

          點擊藍字關注我們

          Hello,World!



          最近時間相對比較寬松,聊聊自己對目前移動端自動化框架或者工具的認識。有不對之處望指出。

          1.Monkey

          Monkey是谷歌自家東西,它可以生成一些偽隨機用戶事件流例如模擬用戶的點擊等手勢,以及一些系統(tǒng)級的事件。它應該是目前流行移動端自動化框架或者工具的一個鼻祖。

          Monkey 更應該算是一個客戶端性能測試工具,測試客戶端應用的穩(wěn)定性,健壯性還是相當不錯的。Monkey 也無需而外安裝,在android SDK的platform-tools目錄下。在進行SDK環(huán)境配置時可以把該路徑配置到系統(tǒng)變量的path中,便可以直接通過命令進行使用。

          Monkey 的谷歌官方地址是:http://www.android-doc.com/tools/help/monkey.html ?


          2.Monkeyrunner

          Monkeyrunner 同樣是android SDK 自帶的測試工具,看名字還跟Monkey很像,但是他們的作用完全是在不同領域。Monkey 更多用于客戶端性能,發(fā)送的隨機事件是基本沒法控制的,而Monkeyrunner則強大很多,可以用于做功能測試,回歸測試并且可以自己定義測試擴展,靈活性較大。

          Monkeyrunner 工具提供了一些API,可以通過該API來控制Android設備或者模擬器。可以通過編寫python腳本去安裝Android 應用,運行應用,發(fā)送模擬按鍵,手勢,截圖等等,可以說你能在設備中干的事情,Monkeyrunner 都能干。

          網(wǎng)上已經(jīng)很多人分享了Monkeyrunner錄制腳本和回放的腳本,可以下載下來,直接放到android SDK的platform-tools目錄下,通過命令 monkeyrunner 腳本名 便可以啟動錄制器,錄制你需要的自動化測試腳本或者回放。

          Monkeyrunner 足夠強大了,但是錄制的腳本是以坐標軸來作為定位方式,而安卓設備類型眾多,各種分辨率,所以移植性不好。

          Monkeyrunner 的谷歌官方地址:http://www.android-doc.com/tools/help/monkeyrunner_concepts.html


          3.Uiautomator

          上面提到Monkeyrunner 的定位是以坐標軸的方式,移植性差。那么谷歌還學習 ios 的uiautomation,推出了Uiautomator 則很好的解決了這點。Uiautomator 是通過以控件的方式來定位,當然也是支持坐標軸的方式來定位。Uiautomator是Android 4.1后加入的,所以僅支持Android 4.1 和以上的版本,但是不支持webview。

          Uiautomator 谷歌官方地址:http://android.toolib.net/tools/help/uiautomator/index.html


          4.Robotium

          Uiautomator 僅僅支持4.1以上的版本,然后國內(nèi)用戶Android 升級較慢,還存在非常多的4.1以下版本,所以Uiautomator 貌似也就變得不能滿足要求了。?

          Robotium 則很好的解決了這點,它支持所有的Android 版本,是居于原生的Instruments 二次封裝的一個框架。最新版本好像已經(jīng)更新到了5.0.1, 穩(wěn)定性等都不錯。而且官方還出了一個錄制插件 Robotium Recorder(http://robotium.com/products/robotium-recorder)不過這個插件是需要收費的。

          Robotium 只支持Java語言開發(fā)并只支持Android,并不支持跨進程。

          Robotium的中文地址:http://www.robotium.cn/


          5.Appium

          Appium 官方宣稱支持同時支持Android, IOS, FirefoxOS。并且appium 你可以用任何你熟悉的開發(fā)語言來進行編寫測試用例。例如Java, Python, Ruby, PHP, JavsScript, Object-C, C#.....

          Appium 在Android 上如果是大于4.1 則用的是uiautomator, 以下版本則使用Selendroid(selenium for android). IOS上采用uiautomation庫做支持。

          Appium 的穩(wěn)定性相對較差點,但是同樣采用的控件的定位方式對不懂java而熟悉其它語言的來說還是相當不錯的選擇。

          Appium 官方地址:http://appium.io/

          有個論壇也可以看看:http://testerhome.com/


          以上均是開源項目或者部分開源,源代碼都可以找到,感興趣可以自己下源代碼看看。當然像百度也有一個移動端測試框架叫 云cafe, 阿里好像也有個,但是都沒去接觸,不了解情況。


          傳一張圖,看懂很多:


          ?? - end -??


          微信號 : coding_club

          ●?掃碼關注我們

          覺得內(nèi)容還不錯的話,給我點個“在看”唄




          瀏覽 43
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  777久久 | 91狠狠综合久久久 | 欧美+国产+无码+麻豆 | 青娱乐亚洲无码 | 成年人视频网站 |