如何在 AWS Device Farm CLI 上的设备池中添加单个设备?

Posted

技术标签:

【中文标题】如何在 AWS Device Farm CLI 上的设备池中添加单个设备?【英文标题】:How to add Single Device in Device Pool on AWS Device Farm CLI? 【发布时间】:2019-01-05 20:16:39 【问题描述】:

我正在使用 AWS CLI 来安排项目构建。 我已经使用设备池(所有 android 设备)使用 AWS CLI 成功执行了测试用例

现在我只想要我的设备池中的一个设备,所以我尝试获取设备 ARN。

要获取项目下所有设备的 ARN,请使用:

aws devicefarm list-devices --arn arn:aws:devicefarm:us-west-2:871290565691:project:8edf9575-3290-45f6-90d0-cb36edc0c2c0

我尝试了以下命令,以便仅为一个设备(Google Pixel2 8.1)创建设备池:

aws devicefarm create-device-pool --project-arn arn:aws:devicefarm:us-west-2:871290565691:project:8edf9575-3290-45f6-90d0-cb36edc0c2c0 --name pixel2_81 --rules '["attribute": "INSTANCE_ARN", "operator": "IN", "value": "[arn:aws:devicefarm:us-west-2::device:4B2B87829E99484DBCD853D82A883BF5]"]'

aws devicefarm create-device-pool --project-arn arn:aws:devicefarm:us-west-2:871290565691:project:8edf9575-3290-45f6-90d0-cb36edc0c2c0 --name pixel2_81 --rules '["attribute": "INSTANCE_ARN", "operator": "EQUALS", "value": "arn:aws:devicefarm:us-west-2::device:4B2B87829E99484DBCD853D82A883BF5"]'

aws devicefarm create-device-pool --project-arn arn:aws:devicefarm:us-west-2:871290565691:project:8edf9575-3290-45f6-90d0-cb36edc0c2c0 --name pixel2_81 --rules '["attribute": "INSTANCE_ARN", "operator": "EQUALS", "value": "\"arn:aws:devicefarm:us-west-2::device:4B2B87829E99484DBCD853D82A883BF5\""]'

aws devicefarm create-device-pool --project-arn arn:aws:devicefarm:us-west-2:871290565691:project:8edf9575-3290-45f6-90d0-cb36edc0c2c0 --name pixel2_81 --rules '["attribute": "ARN", "operator": "IN", "value": "[arn:aws:devicefarm:us-west-2::device:4B2B87829E99484DBCD853D82A883BF5]"]'

aws devicefarm create-device-pool --project-arn arn:aws:devicefarm:us-west-2:871290565691:project:8edf9575-3290-45f6-90d0-cb36edc0c2c0 --name pixel2_81 --rules '["attribute": "ARN", "operator": "EQUALS", "value": "arn:aws:devicefarm:us-west-2::device:4B2B87829E99484DBCD853D82A883BF5"]'

aws devicefarm create-device-pool --project-arn arn:aws:devicefarm:us-west-2:871290565691:project:8edf9575-3290-45f6-90d0-cb36edc0c2c0 --name pixel2_81 --rules '["attribute": "ARN", "operator": "EQUALS", "value": "\"arn:aws:devicefarm:us-west-2::device:4B2B87829E99484DBCD853D82A883BF5\""]'

但是他们都给出了同样的错误:

调用CreateDevicePool操作时发生错误(ArgumentException):无效请求,请检查arn和设备池规则

我想我在这里遗漏了一些小东西。

非常感谢您对此的帮助,或者请为我提供另一种方法来为单个 Google Pixel2 8.1 设备创建设备池。

谢谢。

【问题讨论】:

【参考方案1】:

这是我在笔记中的示例,但不适用于 Google 像素。但是,可以使用 list devices API 找到它的 arn

单一设备

aws devicefarm create-device-pool --project-arn arn:aws:devicefarm:us-west-2:111122223333:project:fb906e56-a39f-4976-9583-8c520bb534cb --name testOfCli --rules '["attribute": "ARN","operator":"IN","value":"[\"arn:aws:devicefarm:us-west-2::device:B494940EA8AA4DA4B4DC45CE4E47D760\"]"]' --region us-west-2

-詹姆斯

【讨论】:

谢谢詹姆斯,这是我一直在寻找的答案 :)【参考方案2】:

根据 James 提供更详细的答案。

aws devicefarm create-device-pool --project-arn arn:aws:devicefarm:us-west-2: 111122223333:project:bb8c132f-9c75-4ac2-98fc-59c5e71adbbd --name pixel2_81 --rules '["attribute": "ARN","operator":"IN","value":"[\"arn:aws:devicefarm:us-west-2::device:4B2B87829E99484DBCD853D82A883BF5\"]"]' --region us-west-2

【讨论】:

以上是关于如何在 AWS Device Farm CLI 上的设备池中添加单个设备?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 AWS Device Farm 中运行 maven 命令

为 AWS Device Farm 构建 XCTest UI 测试

如何使用 Android 获得 AWS Device Farm 测试的代码覆盖率?

AWS Device Farm 的 XCTest 单元和 UI 测试

无法在 iOS Appium 测试(AWS Device Farm)上切换到 WebView 上下文

尝试从 AWS Lambda 但不是桌面访问 AWS Device Farm 时出现 SSL 证书错误