

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# AWS Device Farm referência da ação de teste
<a name="action-reference-DeviceFarm"></a>

Em seu pipeline, você pode configurar uma ação de teste usada AWS Device Farm para executar e testar seu aplicativo em dispositivos. O Device Farm usa grupos de teste de dispositivos e estruturas de teste para testar aplicações em dispositivos específicos. Para obter informações sobre os tipos de estruturas de teste compatíveis com a ação Device Farm, consulte [Trabalhando com tipos de teste no AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html).

**Topics**
+ [Tipo de ação](#action-reference-DeviceFarm-type)
+ [Parâmetros de configuração](#action-reference-DeviceFarm-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-DeviceFarm-input)
+ [Artefatos de saída](#action-reference-DeviceFarm-output)
+ [Permissões da função de serviço: AWS Device Farm ação](#edit-role-devicefarm)
+ [Declaração de ação](#action-reference-DeviceFarm-example)
+ [Consulte também](#action-reference-DeviceFarm-links)

## Tipo de ação
<a name="action-reference-DeviceFarm-type"></a>
+ Categoria: `Test`
+ Proprietário: `AWS`
+ Fornecedor: `DeviceFarm`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-DeviceFarm-config"></a>

**AppType**  
Obrigatório: Sim  
O sistema operacional e o tipo de aplicação que você está testando. Veja a seguir uma lista de valores válidos:  
+ `iOS`
+ `Android`
+ `Web`

**ProjectId**  
Obrigatório: Sim  
O ID do projeto do Device Farm.   
Para encontrar o ID do seu projeto, no console do Device Farm, escolha o projeto. No navegador, copie o URL do novo projeto. O URL contém o ID do projeto. O ID do projeto é o valor na URL após `projects/`. No exemplo a seguir, o ID do projeto é `eec4905f-98f8-40aa-9afc-4c1cfexample`.  

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

**App**  
Obrigatório: Sim  
O nome e o local do arquivo da aplicação no artefato de entrada. Por exemplo: `s3-ios-test-1.ipa`

**TestSpec**  
Condicional: sim  
A localização do arquivo de definição da especificação de teste no artefato de entrada. É necessário para o teste do modo personalizado.

**DevicePoolArn**  
Obrigatório: Sim  
O ARN do grupo de dispositivos do Device Farm.   
Para obter o pool de dispositivos disponível ARNs para o projeto, incluindo o ARN dos principais dispositivos, use a AWS CLI para inserir o seguinte comando:   

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

**TestType**  
Obrigatório: Sim  
Especifica a estrutura de teste compatível com seu teste. Veja a seguir uma lista de valores válidos para `TestType`:  
+ **APPIUM\$1JAVA\$1JUNIT**
+ **APPIUM\$1JAVA\$1TESTING**
+ **APPIUM\$1NODE**
+ **APPIUM\$1RUBY**
+ **APPIUM\$1PYTHON**
+ **APPIUM\$1WEB\$1JAVA\$1JUNIT**
+ **APPIUM\$1WEB\$1JAVA\$1TESTING**
+ **APPIUM\$1WEB\$1NODE**
+ **APPIUM\$1WEB\$1RUBY**
+ **APPIUM\$1WEB\$1PYTHON**
+ **BUILTIN\$1FUZZ**
+ **INSTRUMENTATION**
+ **XCTEST**
+ **XCTEST\$1UI**
Os seguintes tipos de teste não são suportados pela ação em CodePipeline: `WEB_PERFORMANCE_PROFILE``REMOTE_ACCESS_RECORD`, `REMOTE_ACCESS_REPLAY` e.
Para obter informações sobre os tipos de teste do Device Farm, consulte [Como trabalhar com tipos de teste no AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html).

**RadioBluetoothEnabled**  
Obrigatório: não  
Um valor booleano que indica se o Bluetooth deve ser habilitado no início do teste.

**RecordAppPerformanceData**  
Obrigatório: não  
Um valor booleano que indica se os dados de desempenho do dispositivo, como CPU, FPS e desempenho da memória, devem ser registrados durante o teste.

**RecordVideo**  
Obrigatório: não  
Um valor booleano que indica se o vídeo deve ser gravado durante o teste.

**RadioWifiEnabled**  
Obrigatório: não  
Um valor booleano que indica se o Wi-Fi deve ser habilitado no início do teste.

**RadioNfcEnabled**  
Obrigatório: não  
Um valor booleano que indica se o NFC deve ser habilitado no início do teste.

**RadioGpsEnabled**  
Obrigatório: não  
Um valor booleano que indica se o NFC deve ser habilitado no início do teste.

**Testar**  
Obrigatório: não  
O nome e o caminho do arquivo de definição de teste em seu local de origem. O caminho é relativo à raiz do artefato de entrada para o teste.

**FuzzEventCount**  
Obrigatório: não  
O número de eventos de interface do usuário que o teste Fuzz executará, entre 1 e 10.000.

**FuzzEventThrottle**  
Obrigatório: não  
O número de milissegundos que o teste Fuzz deve aguardar para realizar o próximo evento de interface do usuário, entre 1 e 1.000.

**FuzzRandomizerSeed**  
Obrigatório: não  
Uma propagação que o teste Fuzz usará para randomizar eventos de interface do usuário. O uso do mesmo número de testes Fuzz subsequentes resulta em sequências de eventos idênticas.

**CustomHostMachineArtifacts**  
Obrigatório: não  
O local na máquina host em que os artefatos personalizados serão armazenados.

**CustomDeviceArtifacts**  
Obrigatório: não  
O local no dispositivo em que os artefatos personalizados serão armazenados.  


**UnmeteredDevicesOnly**  
Obrigatório: não  
Um valor booleano que indica se os dispositivos de acesso ilimitado devem ser usados somente ao executar testes nesta etapa.

**JobTimeoutMinutes**  
Obrigatório: não  
O número de minutos que um teste será executado por dispositivo antes de atingir o tempo limite.

**Latitude**  
Obrigatório: não  
A latitude do dispositivo expressa em graus do sistema de coordenadas geográficas.

**Longitude**  
Obrigatório: não  
A longitude do dispositivo expressa em graus do sistema de coordenadas geográficas.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-DeviceFarm-input"></a>
+ **Número de artefatos:** `1`
+ **Descrição:** o conjunto de artefatos a ser disponibilizado na ação de teste. O Device Farm procura a aplicação de compilação e as definições de teste a serem usadas.

## Artefatos de saída
<a name="action-reference-DeviceFarm-output"></a>
+ **Número de artefatos:** `0` 
+ **Descrição:** os artefatos de saída não se aplicam a esse tipo de ação.

## Permissões da função de serviço: AWS Device Farm ação
<a name="edit-role-devicefarm"></a>

Quando CodePipeline executa a ação, a política CodePipeline de função de serviço exige as seguintes permissões, com escopo adequado até o ARN do recurso do pipeline, a fim de manter o acesso com menos privilégios. Por exemplo, adicione o seguinte à declaração da política:

```
{
    "Effect": "Allow",
    "Action": [
        "devicefarm:ListProjects",
        "devicefarm:ListDevicePools",
        "devicefarm:GetRun",
        "devicefarm:GetUpload",
        "devicefarm:CreateUpload",
        "devicefarm:ScheduleRun"
    ],
    "Resource": "resource_ARN"
},
```

## Declaração de ação
<a name="action-reference-DeviceFarm-example"></a>

------
#### [ 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"
},
```

------

## Consulte também
<a name="action-reference-DeviceFarm-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Como trabalhar com tipos de teste no Device Farm:](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html) este capítulo de referência no *Guia do desenvolvedor do Device Farm* fornece mais descrições sobre as estruturas de teste de aplicativos Android, iOS e Web compatíveis com o Device Farm.
+ [Ações no Device Farm:](https://docs.aws.amazon.com/devicefarm/latest/APIReference/Welcome.html) as chamadas e os parâmetros de API na *Referência da API do Device Farm* podem ajudar você a trabalhar com projetos do Device Farm.
+ [Tutorial: crie um pipeline que crie e teste seu aplicativo Android com AWS Device Farm](tutorials-codebuild-devicefarm.md)— Este tutorial fornece um exemplo de arquivo de especificação de compilação e um aplicativo de amostra para criar um pipeline com uma GitHub fonte que cria e testa um aplicativo Android com o Device CodeBuild Farm.
+ [Tutorial: crie um pipeline que teste seu aplicativo iOS com AWS Device Farm](tutorials-codebuild-devicefarm-S3.md): este tutorial fornece uma aplicação de exemplo para criar um pipeline com uma origem do Amazon S3 que testa um aplicativo iOS de compilação com o Device Farm.