AWS Device Farm - AWS CodePipeline

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS Device Farm

在管道中,您可以設定用 AWS Device Farm 來在裝置上執行和測試應用程式的測試動作。Device Farm 使用裝置的測試集區和測試架構來測試特定裝置上的應用程式。如需 [Device Farm 服器陣列] 動作所支援之測試架構類型的相關資訊,請參閱使用 AWS Device Farm 中的測試類型

動作類型

  • 類別:Test

  • 擁有者:AWS

  • 提供者:DeviceFarm

  • 版本:1

組態參數

AppType

必要:是

您正在測試的作業系統和應用程式類型。以下是有效值的清單:

  • iOS

  • Android

  • Web

ProjectId

必要:是

Device Farm 專案 ID。

若要尋找您的專案 ID,請在 Device Farm 主控台中選擇您的專案。在瀏覽器中,複製新專案的 URL。URL 包含專案 ID。專案 ID 是之後 URL 中的值projects/。在下列範例中,專案 ID 為eec4905f-98f8-40aa-9afc-4c1cfexample

https://<region-URL>/devicefarm/home?region=us-west-2#/projects/eec4905f-98f8-40aa-9afc-4c1cfexample/runs
应用

必要:是

輸入成品中應用程式檔案的名稱和位置。例如:s3-ios-test-1.ipa

TestSpec

條件式:是

測試規格定義檔案在輸入成品中的位置。這是自定義模式測試所必需的。

DevicePoolArn

必要:是

Device Farm 裝置集區 ARN。

若要取得專案的可用裝置集區 ARN (包括常用裝置的 ARN),請使用 AWS CLI 輸入下列命令:

aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:account_ID:project:project_ID
TestType

必要:是

指定測試支援的測試架構。以下是有效值的清單TestType

  • 爪哇胡尼特

  • Appium_ 爪哇測試

  • APPIUM 節點

  • 蘋果紅寶石

  • 蟒蛇

  • 阿皮亚姆网站 JA_JUnit

  • 蘋果網站測試

  • 应用网节点

  • 蘋果紅寶石

  • 蟒蛇網

  • 內建模糊

  • INSTRUMENTATION

  • XCTEST

  • XCTEST_UI

注意

WEB_PERFORMANCE_PROFILEREMOTE_ACCESS_RECORD和中 CodePipeline的動作不支援下列測試類型REMOTE_ACCESS_REPLAY

如需 Device Farm 測試類型的相關資訊,請參閱使用 AWS Device Farm 中的測試

RadioBluetoothEnabled

必要:否

Boolean 值,指出是否在測試開始時啟用藍牙。

RecordAppPerformanceData

必要:否

Boolean 值,指出測試期間是否記錄裝置效能資料,例如 CPU、FPS 和記憶體效能。

RecordVideo

必要:否

Boolean 值,指出是否在測試期間錄製視訊。

RadioWifiEnabled

必要:否

布林值,指出是否在測試開始時啟用 Wi-Fi。

RadioNfcEnabled

必要:否

布林值,指出是否在測試開始時啟用 NFC。

RadioGpsEnabled

必要:否

布林值,指出是否在測試開始時啟用 GPS。

測試

必要:否

來源位置中測試定義檔案的名稱和路徑。路徑為相對於您測試輸入成品根的相對路徑。

FuzzEventCount

必要:否

模糊測試要執行的使用者介面事件數目,介於 1 到 10,000 之間。

FuzzEventThrottle

必要:否

模糊測試在執行下一個使用者介面事件之前等待的毫秒數 (介於 1 到 1,000 之間)。

FuzzRandomizerSeed

必要:否

模糊測試的種子,用於隨機化使用者介面事件。在後續的模糊測試中使用相同的數字會產生相同的事件序列。

CustomHostMachineArtifacts

必要:否

主機上將儲存自訂加工品的位置。

CustomDeviceArtifacts

必要:否

裝置上將儲存自訂成品的位置。

UnmeteredDevicesOnly

必要:否

Boolean 值,指出在此步驟中執行測試時,是否只使用未計量裝置。

JobTimeoutMinutes

必要:否

在超時之前,每個設備將執行測試運行的分鐘數。

緯度

必要:否

裝置的緯度,以地理座標系度表示。

經度

必要:否

裝置的經度,以地理座標系度表示。

Input artifacts (輸入成品)

  • 人工因素數目:1

  • 描述:要提供給測試動作的一組成品。Device Farm 會尋找要使用的建置應用程式和測試定義。

輸出成品

  • 成品數量:0

  • 描述:輸出人工因素不適用於此動作類型。

動作宣告

YAML
Name: Test Actions: - Name: TestDeviceFarm ActionTypeId: null category: Test owner: AWS provider: DeviceFarm version: '1' RunOrder: 1 Configuration: App: s3-ios-test-1.ipa AppType: iOS DevicePoolArn: >- arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5 ProjectId: eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE TestType: APPIUM_PYTHON TestSpec: example-spec.yml OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2
JSON
{ "Name": "Test", "Actions": [ { "Name": "TestDeviceFarm", "ActionTypeId": null, "category": "Test", "owner": "AWS", "provider": "DeviceFarm", "version": "1" } ], "RunOrder": 1, "Configuration": { "App": "s3-ios-test-1.ipa", "AppType": "iOS", "DevicePoolArn": "arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5", "ProjectId": "eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE", "TestType": "APPIUM_PYTHON", "TestSpec": "example-spec.yml" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2" },

以下相關資源可協助您使用此動作。