一、問題的提出
最近二兩年來,一直在從事移動設備的自動化測試工作,可以說小有心得。但最近由于種種原因,面臨著對移動設備的自動化測試工具的更換工作。所以,一個問題呈現在面前。我們需要為我們的項目選出一款新的自動化測試工具,具體來說就是我們要選出可以支持iOS,android,windows phone甚至是黑莓等設備的自動化測試工具。當然在講我的案例前,我希望針對我們對工具的選型工作能夠對大家有參考作用,以便未來在您可能遇到類似的問題時,也能夠有章可循。
![]()
日常我們目前公司的mobile app基本上實際上是webbased 的app,所以在此之前我們的所有自動化測試腳本都是建立在基于對web自動化測試工作支持較好的sahi上。而我們的mobile automation則是使用chrome瀏覽器來模擬mobile client,使用sahi來進行自動化工作,整體來講,mobile 應用的自動化工具是很成功的,自動化覆蓋率比較好,而且運行的速度較快,也為公司節省了許多金錢。但實際上我們也面臨一個問題,就是我最終發布的應用實際上是一個hybrid應用,而且在實際測試工程中,手工測試人員由于覺得大部分自動化測試跑在chrome上,他們對自動化的信任度也不能夠達到較高的程度,所以他們覺得,有必要把自動化測試覆蓋掉的用例也要手工跑一下,以免出現意外。當然我們非常認可同事的認真工作的態度,但我們確實也應該解決這一問題,讓automation真正跑在設備上。基于以上,我們打算更換一款工具,能夠讓我們的自動化測試跑在真實設備上,而非模擬器上。
那么現在問題來了,我們選什么呢?所以我們得先分析一下需求。首先,我們的自動化必須能夠跑在設備上。其次,工具必須能夠支持iOS,android,windows phone,blackberry等。除這兩項硬性規定外,我們的需要工作盡可能好用,能夠支持企業級應用,當然如果能夠免費最好。
二、 找到至少兩組備選方案
首先我們得借助一下google,百度,查詢一下有沒有適合的工具。
首先映入眼簾的是它。
我們先來看一下 appium 能干什么?看簡要說明它主要能夠實現 iOS,Android 以及FireFox OS 設備的自動化測試,包括 native,hybrid 及手機 web 應用。最重要的是它還是開源的。Appium 是跨平臺的,即你可以寫一套測試腳本同時運行在 android 及 iOS 平臺上。Appium 是基于客戶端/服務器架構,它實際上是提供一套 Restful API.它從客戶端接收連接,偵聽命令,然后在移動設備上執行命令。在客戶端我們可以使用任何語言來編寫測試腳本。服務端可以運行在不同的機器上。
我們再來看看這個家伙,叫做 SeeTest automation:
SeeTest automation 支持 iOS,Android, Blackberry 及windowsphone 的自動化測試。它能夠在真實設備上錄制也可以在模擬器上錄制,可同時在不同的設備運行測試,插件豐富,包括 HPUFT(QTP),WebDriver(selenium),JunIT,微軟 visual studio 和 pathon。可以與ALM 連接,Jenkins 和其它持續集成工具。可以通過 usb 或是無線網線與設備進行聯接。
這個 SeeTest automation 功能還是真奇全,但這個軟件是商業軟件,它還有配套的SeeTest Could 以及虛擬化軟件。價格比較昂貴,功能強勁。
我們再在看一款,叫 KeyNote DeviceAnyWhere,這是一款和 SeeTest Automation 差不多的軟件,支持支持 iOS,Android, Blackberry 及 windowsphone 的自動化測試。而且它也對設備提供云的支持。功能強,價格貴,是一款企業級的商業軟件。
三、對比
通過對備選軟件的對比,相信很容易能夠得出您所需要的適合的移動設備自動化測試工具。可能也有看官在好奇我們最終選了什么軟件。我可以負責任的告訴大家,做為一家有錢任性的大公司,我們毫不猶豫的選擇了商業軟件,而且那兩款商用軟件都有啊。
拋開錢的問題,做為一家企業,你有可能會有這樣的潛在需求,即你希望你的設備是可以集中管理的,比如說,我在大連有一個移動設備中心,然后在北京也有一個,在上海也有一個,如果貴公司是全球企業,可能你在美國,英國等都有一個移動設備中心,如果需要設備是共享的,那么如果你選擇的自動化測試工具提供云的支持,那么每個中心的設備大家都是共享可用的,你也可以最大化的利用到每一臺設備。
當然,大多數互聯網公司 我相信會更可能選擇開源的appium,它免費,又可以自己動手定制,一般來講中國大多數互聯網公司對自動化測試云的要求不是那么強烈,如果真有要求,我們一般也會自己想辦公,利用現有的開源軟件及技術,自己來搭建。
講到這里,實際上我們應該已經了解到,對于任何一種工具的選擇,我們首要考慮其功能性,看能夠滿足我們的要求。其它,看價格。性價比高的優先考慮。最后我們一定將潛在的需求也列出來,是否有設備云的要求,是否有持續集成的要求,是否對我們所擅長的編程語言有支持,以及是否有利用擴展等。
除此外,如果您打算入手商業工具,這里還建議各們先試用,小范圍使用評估并反饋結果。一般商業軟件都有試用期,通常為一個月,如果試用一個月不夠,通常情況下要求延長試用期也是可行的。
最后:在我的V :atstudy-js,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.