AWS Device Farm 常見問答集

在實際行動裝置上測試

AWS Device Farm 可讓開發人員透過在 AWS 雲端使用真實的 Android 和 iOS 裝置進行測試與互動,藉此提升應用程式品質、縮短上市時間及提高客戶滿意度。開發人員可以上傳他們的應用程式和測試指令碼,並在 100 多個真實裝置上平行執行自動化測試,短時間內快速取得結果、螢幕擷取畫面、影片和效能資料。他們也可以透過 Web 瀏覽器使用撥動、手勢和互動來操作裝置,進行偵測和重現客戶的問題。

AWS Device Farm 是專為開發人員、品質保證團隊及客戶支援代表而設計的,這些人員建置、測試和支援行動應用程式以提升應用程式的品質。由於裝置型號繁多、韌體和作業系統版本的差異、各種廠商和製造商自訂項目以及遠端服務和其他應用程式的相依性,應用程式品質越來越重要且變得日益複雜。AWS Device Farm 可在多個裝置上執行測試以加速開發程序,讓開發人員、品質保證和支援專業人員能夠執行自動化測試和手動任務,例如,重現客戶問題、對新功能的探索測試以及手動進行測試計劃。而且,AWS Device Farm 無須內部裝置實驗室、實驗室管理員和自動化基礎設施開發,能夠大幅節省成本。

AWS Device Farm 支援原生和混合 Android、iOS、Web 應用程式及跨平台應用程式,包括使用 PhoneGap、Titanium、Xamarin、Unity 和其他架構建立的應用程式。

AWS Device Farm 測試在真實的裝置上執行。這些裝置混合了 OEM 和具有廠商品牌的裝置。

設定測試與遠端存取工作階段

請參閱我們的入門指南

AWS Device Farm 可在 Internet Explorer 9 (或更新版本) 以及 Chrome、Firefox 和 Safari 的最新版本上運作。

您可在 Android 的 Chrome 和 iOS 的 Safari 上測試 Web 應用程式。

AWS Device Farm 支援的檔案大小最高為 4 GB。

無需檢測或提供原始程式碼即可使用內建測試。可依現況提交 Android 應用程式。建立 iOS 應用程式時應以「iOS 裝置」為目標,而非模擬器。

應用程式和測試套件在 30 天之後會自動移除。日誌、影片記錄和其他成品會存放 400 天。您也可選擇透過 AWS Device Farm 主控台或 API 隨時刪除檔案和結果。

測試執行完成之後,我們會在每個裝置執行一系列的清理任務,包含解除安裝您的應用程式。如果我們無法確認應用程式解除安裝程序或任何其他清理步驟是否成功,則會移除該裝置,而且之後將無法再使用。

雖然我們持續新增其他清理步驟和改善清理程序,在某些情況下還是會在工作階段之間殘留部分資料,尤其是當您使用裝置系統處理應用程式外的工作時。基於這個原因,以及 AWS Device Farm 會在您使用每個裝置時擷取活動的影片和日誌,因此建議您不要在自動化測試和遠端存取工作階段期間提供或輸入敏感資訊,像是帳戶資訊 (例如,Google 帳戶、Apple ID)、個人資訊,以及其他最敏感的安全詳細資訊。

在 iOS 上,我們會將內嵌佈建設定檔取代為萬用字元設定檔,然後放棄應用程式。如果提供,我們會在安裝前於應用程式套件中新增輔助資料,這樣資料就會出現在您的應用程式沙盒中。放棄 iOS 應用程式會導致某些權利遭到移除。這包含 App Group、 Associated Domains、Game Center、HealthKit、HomeKit、Wireless Accessory Configuration、In-App Purchase、Inter-App Audio、Apple Pay、Push Notifications 和 VPN Configuration & Control。

在 Android 上,我們會放棄應用程式。這可能會破壞依存於應用程式簽章的功能,例如 Google Maps Android API。也可能會觸發產品提供的反盜版和反竄改偵測功能,例如 DexGuard。針對內建測試,我們會修改資訊清單以包含擷取和儲存螢幕擷取畫面所需的許可。

選取裝置

AWS Device Farm 提供多種 (且不斷擴增) Android、iOS 和 Fire OS 裝置選擇。當製造商推出熱門的新裝置後,我們也會立即將其加入。我們也會在新的作業系統版本發行時加入新的裝置。請參閱可用的裝置清單。

我們目前擁有來自印度的國際裝置。我們使用市場資料和客戶的意見回饋不斷更新機群。如果您想查看不在我們機群中的裝置,請聯絡我們

您可在稱為裝置集區的集合中選擇裝置進行「自動化測試」。某些專門的裝置集區會自動提供,但您也可建立自己的集區。在執行期間,測試會在與您應用程式和測試相容的指定集區中的所有裝置上執行。如果是「遠端存取」,您可根據製造商、型號、廠商和作業系統版本選取所需的裝置。接著您可以選擇上傳應用程式和其他資料,還可以設定其他裝置設定。接下來 Device Farm 會找出符合您請求的可用裝置,並在瀏覽器中顯示這些裝置。然後您可以與裝置互動,擷取螢幕畫面和影片。

是,測試裝置上有裝置製造商或廠商預先安裝的一些應用程式。

是。所有裝置都有可存取網際網路的 WiFi 連線。如果您的系統位於內部 (也就是在公司防火牆後方),您可以允許 IP 範圍 54.244.50.32-54.244.50.63。所有裝置流量將會來自這些 IP。

雖然您無法測試實際的電訊廠商連線,但可使用網路成形功能來模擬連線類型和條件。當排程執行時,您可選擇一個專門的網路設定檔,如 "3G" 或 "Lossy LTE",或者是建立自己的網路設定檔,以控制輸送量、抖動情形及耗損等參數。來自裝置的所有 WiFi 流量會在測試期間,根據所選的設定檔加以成形和操作。您也可以從測試指令碼變更網路參數,以模擬動態環境。

否,裝置未配有電訊廠商連線,因此無法撥打電話或傳送 SMS。

是,您可以使用裝置的相機功能,前方相機和後方相機皆可使用。由於裝置掛接的方式,影像和影片可能會看起來較暗且模糊。

測試您的應用程式

內建相容性測試套件讓您能在應用程式安裝、解除安裝、啟動和執行 Fuzz。

Fuzz 會在啟動之後立即在 UI 上執行 Fuzz 測試。它會快速隨機串流使用者輸入 (觸控、撥動、鍵盤輸入) 到您的應用程式中。您可以設定事件數量、事件間的延遲和用來隨機排列事件的種子。在測試回合中使用相同的種子會產生相同順序的事件。

AWS Device Farm 支援對 Android 和 iOS 平台的本機、混合和 Web 應用程式進行測試。預設支援以下架構:Appium Java JUnit、Appium Java TestNG、Appium Python、Appium Ruby、Appium NodeJS、Instrumentation(包括 JUnit、Espresso 和大多數以 Instrumentation 為基礎的測試)和 XCTest (包括 XCUI 和 KIF)。如需詳細資訊和支援架構的完整清單,請瀏覽我們的文件

您可以執行以 Appium Java JUnit、Appium Java TestNG 或 Appium Python 編寫的測試。

我們會不斷評估要支援的架構。請連絡我們

如果您使用其中一種支援的自動化架構,則您有完整的控制權,可以決定抓取螢幕擷取畫面的時機。這些螢幕擷取畫面會自動加入您的報告。

有,支援 Google Play 服務的裝置上都安裝了 Google Play 服務。一有最新的版本,服務就會進行更新。

否,裝置上沒有作用中的 Google 帳戶。

AWS Device Farm 支援 Espresso 和 Robotium 這類架構,這種架構具備記錄和播放編寫指令碼工具。

否,AWS Device Farm 將會自動取代佈建設定檔,並放棄您的應用程式,以便直接部署在我們的裝置上。

否,但您可以下載日誌,並在本機符號化堆疊追蹤。

是,如果使用 ProGuard 就可以。如果您使用 DexGuard 搭配反盜版措施,我們將無法重新簽署應用程式並執行測試。

雖然裝置可以存取網際網路,但我們不保證一定會顯示廣告。建議您從 AWS Device Farm 上測試的組建中移除廣告。

是。如果您使用 Calabash、Appium 或 UI Automation 這類主從式架構,就可以從主機存取網際網路及執行有限的殼層命令。

您可以提供大小最多 4 GB 的 .zip 存檔。在 Android 這個存檔會解壓縮到外部記憶體的根目錄;在 iOS 則會存放至您的應用程式沙盒中。對於 Android 擴展檔案 (OBB),我們會自動將檔案放到適合 OS 版本的位置。如需詳細資訊,請參閱開發人員指南

是,您可以選擇多個應用程式,並以自己選擇的順序進行安裝。這些相依應用程式會在測試開始前完成安裝。

是,為了測試您的升級流程,可以在安裝並測試新的應用程式版本前,先上傳並安裝舊版應用程式。

是,您可以提供經緯度座標,用於覆寫裝置的 GPS。

是,您可以提供地區設定 (例如 "en_US") 以覆寫裝置的預設地區設定。

測試會立即排入執行佇列,通常幾分鐘內就會開始。如果有一或多個裝置無法使用,對這些裝置執行的測試會持續保留在佇列中,直到裝置可用為止。在您的測試回合中,對其他裝置的測試會持續執行。

允許的時間上限為 150 分鐘。 

是。我們提供適用於 Jenkins 持續整合環境的外掛程式,還有與 Android Studio 相容的 Gradle 外掛程式。AWS Device Farm 也提供適用於所有主控台功能的程式設計支援,包含透過 API 設定測試和下載測試結果。如需詳細資訊,請參閱 AWS Device Farm API 參考。除了 API,您可以從 AWS 開發套件存取 AWS Device Farm。

查看結果

AWS Device Farm 測試報告包含通過/失敗資訊、損毀報告、測試日誌、裝置日誌、螢幕擷取畫面、影片及效能資料。報告同時包含詳細的每一裝置資料和簡要的結果,像是特定錯誤的出現次數。遠端存取結果包含日誌和工作階段影片。

AWS Device Farm 報告包含完整的 logcat (Android) 和裝置日誌 (iOS),以及來自裝置主機和指定測試架構的日誌。

如果您將資料寫入 logcat (Android) 或裝置日誌 (iOS),這些日誌項目會被加入報告。雖然您可能會使用裝置或裝置主機的網際網路連線透過測試指令碼傳輸檔案,但 AWS Device Farm 不會收集任何非標準日誌或其他成品。

定價

定價依裝置分鐘計費,依據您在每個選取的裝置上使用的測試持續時間計算。AWS Device Farm 提供 1000 裝置分鐘的免費試用時間。* 之後的每一裝置分鐘以 0.17 USD 計費。隨著測試需求的增加,您可以選用無限制測試計劃,每個月支付每個裝置 250 USD 的固定費用,以進行不限次數的測試。

前 1000 個裝置分鐘數免費。這是一次性的試用,無法續約。一旦您的試用分配用盡,之後每個裝置分鐘數以 0.17 USD 的標準費率計費。

裝置分鐘是計費單位。裝置分鐘是計算用於安裝、執行和解除安裝應用程式,以及在選定用於執行測試的每個裝置上進行測試的時間 (以分鐘計)。無論裝置、測試或應用程式類型為何,單價都相同。裝置分鐘只針對沒有任何裝置或系統錯誤而完成的測試計費。同樣地,對於遠端存取工作階段,裝置分鐘是從準備符合規格裝置到完全移除您放置在裝置上的任何應用程式和資料的時間計算。

您可以根據本身的商業需求動態增加和縮減用量,沒有任何上限或預先消費承諾。

前 1000 個裝置分鐘數免費。* 這是一次性的試用,無法續約。一旦您的試用分配用盡,之後每個裝置分鐘數以 0.17 USD 的標準費率計費。

無限制計劃的起始價格為每月 250 USD,可進行無限制的測試和遠端存取。無限制定價是按照為每個使用類型 (即自動化測試或遠端存取) 和裝置系列 (即 Android 或 iOS) 購買的裝置插槽數量而定,每月每個插槽以 250 USD 計費。裝置插槽對應到並行執行的測試。

例如,如果您購買 10 個自動化測試 Android 裝置插槽並安排在 100 個 Android 裝置進行測試,則 Device Farm 一次最多在 10 個裝置上執行您的測試,直到所選裝置上完成所有測試為止。購買越多插槽能夠讓您更快得到結果。無論每個月您執行多少個測試或遠端存取工作階段,都是依每個月每個裝置插槽 250 USD 的固定費用向您收費。您可以隨時取消一或多個裝置插槽訂閱,取消將在下個續約日 (該月第一次購買作用中裝置插槽的當天) 生效。您可以從 AWS Device Farm 主控台、AWS 命令列界面 (AWS CLI) 或 AWS Device Farm API 購買插槽。若要進一步了解相關資訊,請參閱我們的文件

您可以隨時新增裝置插槽,它們將立即可供使用。您還可以隨時取消一或多個裝置插槽訂閱,取消將在下個續約日 (該月第一次購買作用中裝置插槽的當天) 生效。

是。建立測試回合時,您可以選擇使用無限制裝置插槽,也可以使用計量付費裝置分鐘數。因為計量付費的計費不限制並行,這讓您擁有執行測試的彈性,比使用裝置插槽的速度更快。

私有裝置是手機或平板電腦的實體執行個體,且專屬於您的帳戶。私有裝置可以有自訂、靜態組態,還能執行自訂作業系統映像。我們會代您部署每個裝置,並在訂閱結束時移除。

您帳戶下的每個私有裝置都視為一個私有裝置訂閱。每月訂閱價格會依裝置成本分級,每月 200 USD 起。最短訂閱期間結束後,您可以隨時選擇取消訂閱。請聯絡我們了解更多資訊。

是。為了測試執行或遠端存取工作階段而選擇裝置時,您會同時看到私有裝置以及公有裝置。您也可以建立由私有和公有裝置組成的裝置集區。如需私有裝置的詳細資訊,請聯絡我們

在桌面瀏覽器上測試

Selenium 是一個開放原始碼框架,可自動執行 Web 瀏覽器互動。您可以在這裡進一步了解 Selenium。

透過 Device Farm,您可以在 AWS 雲端託管的不同桌面瀏覽器和瀏覽器版本上執行 Selenium 測試。Device Farm 按照用戶端執行模型進行 Selenium 測試,即您的測試在您自己的本機電腦上執行,但透過 Selenium API 與在 AWS Device Farm 上託管的瀏覽器互動。

若要開始使用,請在這裡參閱我們的入門指南。

所有瀏覽器都託管在 Microsoft Windows Server 上執行的 EC2 Windows 執行個體上。

您可以在這裡查看支援的桌面瀏覽器和瀏覽器版本清單。

您可以在這裡查看 Device Farm 支援的 Selenium 所需功能清單。

Device Farm 會產生整個測試的主控台日誌、Web 驅動程式日誌、操作日誌和影片錄製,以協助您對測試失敗進行疑難排解。

是。Device Farm 支援使用 Appium 在實際行動裝置上測試 Web 應用程式。若要進一步了解,請瀏覽我們的 Appium Web 測試開發人員指南。請注意,若是對實際行動裝置進行測試,Device Farm 將按照伺服器端執行模型,因此您需要將測試上傳至服務。

您可以在這裡找到該功能的所有限制。

定價依執行個體分鐘計費,依據您在每個選取的瀏覽器執行個體上使用的測試持續時間計算。每執行個體分鐘將收取 0.005 USD。

執行個體分鐘是 AWS Device Farm 上的桌面瀏覽器測試的計費單位。執行個體分鐘是計算選定用於執行測試的每個瀏覽器執行個體上進行測試的時間 (分鐘)。無論您選擇哪種瀏覽器或瀏覽器版本,單價恆定為 0.005 USD。對於啟動、初始化或卸除託管瀏覽器的 EC2 執行個體的時間,我們不會向您收費。