使用 AWS CLI 的 Device Farm 範例
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 Device Farm 來執行動作,並實作常見案例。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。
每個範例均包含完整原始程式碼的連結,您可在連結中找到如何在內容中設定和執行程式碼的相關指示。
主題
動作
以下程式碼範例顯示如何使用 create-device-pool。
- AWS CLI
-
建立裝置集區
下列命令為專案建立 Android 裝置集區:
aws devicefarm create-device-pool --namepool1--rulesfile://device-pool-rules.json--project-arn"arn:aws:devicefarm:us-west-2:123456789012:project:070fc3ca-7ec1-4741-9c1f-d3e044efc506"您可以從
create-project或list-projects的輸出中取得專案 ARN。檔案device-pool-rules.json是目前資料夾中的 JSON 文件,可用於指定裝置平台:[ { "attribute": "PLATFORM", "operator": "EQUALS", "value": "\"ANDROID\"" } ]輸出:
{ "devicePool": { "rules": [ { "operator": "EQUALS", "attribute": "PLATFORM", "value": "\"ANDROID\"" } ], "type": "PRIVATE", "name": "pool1", "arn": "arn:aws:devicefarm:us-west-2:123456789012:devicepool:070fc3ca-7ec1-4741-9c1f-d3e044efc506/2aa8d2a9-5e73-47ca-b929-659cb34b7dcd" } }-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateDevicePool
。
-
以下程式碼範例顯示如何使用 create-project。
- AWS CLI
-
建立專案
以下命令會建立一個名為
my-project的新專案:aws devicefarm create-project --namemy-project輸出:
{ "project": { "name": "myproject", "arn": "arn:aws:devicefarm:us-west-2:123456789012:project:070fc3ca-7ec1-4741-9c1f-d3e044efc506", "created": 1503612890.057 } }-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateProject
。
-
以下程式碼範例顯示如何使用 create-upload。
- AWS CLI
-
建立上傳
下列命令會為 Android 應用程式建立上傳:
aws devicefarm create-upload --project-arn"arn:aws:devicefarm:us-west-2:123456789012:project:070fc3ca-7ec1-4741-9c1f-d3e044efc506"--nameapp.apk--typeANDROID_APP您可以從 create-project 或 list-projects 的輸出中取得專案 ARN。
輸出:
{ "upload": { "status": "INITIALIZED", "name": "app.apk", "created": 1503614408.769, "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A123456789012%3Aproject%3A070fc3ca-c7e1-4471-91cf-d3e4efc50604/uploads/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A123456789012%3Aupload%3A070fc3ca-7ec1-4741-9c1f-d3e044efc506/dd72723a-ae9e-4087-09e6-f4cea3599514/app.apk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20170824T224008Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AKIAEXAMPLEPBUMBC3GA%2F20170824%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=05050370c38894ef5bd09f5d009f36fc8f96fa4bb04e1bba9aca71b8dbe49a0f", "type": "ANDROID_APP", "arn": "arn:aws:devicefarm:us-west-2:123456789012:upload:070fc3ca-7ec1-4741-9c1f-d3e044efc506/dd72723a-ae9e-4087-09e6-f4cea3599514" } }在輸出中使用已簽署的 URL,將檔案上傳至 Device Farm:
curl -T app.apk "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A123456789012%3Aproject%3A070fc3ca-c7e1-4471-91cf-d3e4efc50604/uploads/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A123456789012%3Aupload%3A070fc3ca-7ec1-4741-9c1f-d3e044efc506/dd72723a-ae9e-4087-09e6-f4cea3599514/app.apk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20170824T224008Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AKIAEXAMPLEPBUMBC3GA%2F20170824%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=05050370c38894ef5bd09f5d009f36fc8f96fa4bb04e1bba9aca71b8dbe49a0f"-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateUpload
。
-
以下程式碼範例顯示如何使用 get-upload。
- AWS CLI
-
檢視上傳
下列命令會擷取上傳作業的相關資訊:
aws devicefarm get-upload --arn"arn:aws:devicefarm:us-west-2:123456789012:upload:070fc3ca-7ec1-4741-9c1f-d3e044efc506/dd72723a-ae9e-4087-09e6-f4cea3599514"您可以從
create-upload的輸出中取得上傳 ARN。輸出:
{ "upload": { "status": "SUCCEEDED", "name": "app.apk", "created": 1505262773.186, "type": "ANDROID_APP", "arn": "arn:aws:devicefarm:us-west-2:123456789012:upload:070fc3ca-7ec1-4741-9c1f-d3e044efc506/dd72723a-ae9e-4087-09e6-f4cea3599514", "metadata": "{\"device_admin\":false,\"activity_name\":\"ccom.example.client.LauncherActivity\",\"version_name\":\"1.0.2.94\",\"screens\":[\"small\",\"normal\",\"large\",\"xlarge\"],\"error_type\":null,\"sdk_version\":\"16\",\"package_name\":\"com.example.client\",\"version_code\":\"20994\",\"native_code\":[\"armeabi-v7a\"],\"target_sdk_version\":\"25\"}" } }-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetUpload
。
-
以下程式碼範例顯示如何使用 list-projects。
- AWS CLI
-
列出專案
以下內容會擷取專案清單:
aws devicefarm list-projects輸出:
{ "projects": [ { "name": "myproject", "arn": "arn:aws:devicefarm:us-west-2:123456789012:project:070fc3ca-7ec1-4741-9c1f-d3e044efc506", "created": 1503612890.057 }, { "name": "otherproject", "arn": "arn:aws:devicefarm:us-west-2:123456789012:project:a5f5b752-8098-49d1-86bf-5f7682c1c77e", "created": 1505257519.337 } ] }-
如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListProjects
。
-