View a markdown version of this page

AWS Device Farm referência de ação de teste - AWS CodePipeline

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 de ação de teste

Em seu pipeline, você pode configurar uma ação de teste que usa 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 suportadas pela ação Device Farm, consulte Trabalhando com tipos de teste no AWS Device Farm.

Tipo de ação

  • Categoria: Test

  • Proprietário: AWS

  • Fornecedor: DeviceFarm

  • Versão: 1

Parâmetros de configuração

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 os ARNs do pool de dispositivos disponíveis 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_JAVA_JUNIT

  • APPIUM_JAVA_TESTING

  • APPIUM_NODE

  • APPIUM_RUBY

  • APPIUM_PYTHON

  • APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTING

  • APPIUM_WEB_NODE

  • APPIUM_WEB_RUBY

  • APPIUM_WEB_PYTHON

  • BUILTIN_FUZZ

  • INSTRUMENTATION

  • XCTEST

  • XCTEST_UI

nota

Os seguintes tipos de teste não são suportados pela ação em CodePipeline: WEB_PERFORMANCE_PROFILEREMOTE_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.

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 deve ser ativado Wi-Fi 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)

  • 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

  • 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

Quando CodePipeline executa a ação, a política da função de CodePipeline serviço exige as seguintes permissões, com escopo adequado até o ARN do recurso do pipeline para manter o acesso com o mínimo de 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

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" },

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.