View a markdown version of this page

Recursos e versões compatíveis - AWS Device Farm

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á.

Recursos e versões compatíveis

Durante uma sessão de acesso remoto, você pode selecionar a versão principal do Appium servidor que é executada no seu dispositivo. Escolha a versão que oferece suporte aos Appium recursos que seus testes exigem.

O Appium endpoint do Device Farm também suporta a maioria dos mesmos comandos e recursos desejados que você usa em dispositivos locais, com algumas exceções. As seções a seguir listam os recursos e comandos que não são suportados.

Compatível Appium versões do servidor

A tabela a seguir lista as principais versões Appium do servidor com suporte em sessões de acesso remoto e as versões do sistema operacional (SO) do dispositivo que cada versão suporta.

Appiumversão do servidor Versões do Android com suporte Versões do iOS com suporte

3

Todas as versões

15 e acima

2

Todas as versões

15 e acima

nota

O conjunto de versões compatíveis pode mudar com o tempo. Recomendamos que você verifique esta página para ver a lista atual.

Você deve definir a versão do Appium servidor em iOS dispositivos que executam a versão 27 ou posterior. Em dispositivos mais antigos, selecionar uma versão é opcional. Se você não especificar uma versão, o Device Farm usará a versão 2 do servidor nesses dispositivos.

Selecione uma versão do servidor

Para selecionar uma versão, defina o appium:version parâmetro em sua solicitação com a versão principal desejada como valor. Se essa versão não estiver disponível para o dispositivo, o Device Farm rejeitará a solicitação.

Console
Para criar uma sessão de acesso remoto com um selecionado Appium versão do servidor
  1. Faça login no console do Device Farm em https://console.aws.amazon.com/devicefarm.

  2. No painel de navegação do Device Farm, escolha Teste para dispositivos móveis e, em seguida, Projetos.

  3. Se você já tiver um projeto, selecione-o na lista. Caso contrário, crie um projeto seguindo as instruções em Criar um projeto no AWS Device Farm.

  4. Na guia Acesso remoto, escolha Criar sessão de acesso remoto.

  5. Escolha um dispositivo na lista de dispositivos disponíveis ou use a barra de pesquisa na parte superior da lista para encontrar um.

  6. Em Session name (Nome da sessão), insira um nome para a sessão.

  7. (Opcional) Em Selecionar aplicativos, inclua seu próprio aplicativo ou escolha o aplicativo de amostra Device Farm como parte da sessão. Podem ser aplicativos recém-carregados ou aplicativos enviados anteriormente para este projeto. Os uploads de aplicativos expiram após 30 dias.

  8. Em Configuração avançada, para a versão do Appium servidor, escolha a versão principal que você deseja usar. Se você não selecionar uma versão, o console do Device Farm usará uma versão pré-selecionada para o dispositivo. Essa versão pré-selecionada pode mudar com o tempo.

  9. Escolha Confirm and start session (Confirmar e iniciar sessão).

AWS CLI

O exemplo a seguir cria uma sessão de acesso remoto com uma versão de Appium servidor selecionada.

Este exemplo usa a AWS CLI v2.

$ aws devicefarm create-remote-access-session \ --project-arn "arn:aws:devicefarm:us-west-2:111122223333:project:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" \ --device-arn "arn:aws:devicefarm:us-west-2::device:EXAMPLE123DEVICE456" \ --configuration '{"parameters":{"appium:version":"3"}}'
Node.js

O exemplo a seguir cria uma sessão de acesso remoto com uma versão de Appium servidor selecionada.

Este exemplo usa o AWS SDK para JavaScript v3 com Node.js 18 ou posterior.

import { DeviceFarmClient, CreateRemoteAccessSessionCommand } from "@aws-sdk/client-device-farm"; const client = new DeviceFarmClient({ region: "us-west-2" }); const command = new CreateRemoteAccessSessionCommand({ projectArn: "arn:aws:devicefarm:us-west-2:111122223333:project:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", deviceArn: "arn:aws:devicefarm:us-west-2::device:EXAMPLE123DEVICE456", configuration: { parameters: { "appium:version": "3" } }, }); const resp = await client.send(command);
Python

O exemplo a seguir cria uma sessão de acesso remoto com uma versão de Appium servidor selecionada.

import boto3 client = boto3.client("devicefarm", region_name="us-west-2") resp = client.create_remote_access_session( projectArn="arn:aws:devicefarm:us-west-2:111122223333:project:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", deviceArn="arn:aws:devicefarm:us-west-2::device:EXAMPLE123DEVICE456", configuration={"parameters": {"appium:version": "3"}}, )
Java

O exemplo a seguir cria uma sessão de acesso remoto com uma versão de Appium servidor selecionada.

Este exemplo usa o AWS SDK para Java v2.

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.devicefarm.DeviceFarmClient; import software.amazon.awssdk.services.devicefarm.model.CreateRemoteAccessSessionConfiguration; import software.amazon.awssdk.services.devicefarm.model.CreateRemoteAccessSessionRequest; import software.amazon.awssdk.services.devicefarm.model.CreateRemoteAccessSessionResponse; import java.util.Map; public class SelectAppiumVersionExample { public static void main(String[] args) { try (DeviceFarmClient client = DeviceFarmClient.builder() .region(Region.US_WEST_2) .build()) { CreateRemoteAccessSessionConfiguration configuration = CreateRemoteAccessSessionConfiguration.builder() .parameters(Map.of("appium:version", "3")) .build(); CreateRemoteAccessSessionRequest request = CreateRemoteAccessSessionRequest.builder() .projectArn("arn:aws:devicefarm:us-west-2:111122223333:project:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111") .deviceArn("arn:aws:devicefarm:us-west-2::device:EXAMPLE123DEVICE456") .configuration(configuration) .build(); CreateRemoteAccessSessionResponse resp = client.createRemoteAccessSession(request); } } }
Ruby

O exemplo a seguir cria uma sessão de acesso remoto com uma versão de Appium servidor selecionada.

require 'aws-sdk-devicefarm' client = Aws::DeviceFarm::Client.new(region: 'us-west-2') resp = client.create_remote_access_session( project_arn: "arn:aws:devicefarm:us-west-2:111122223333:project:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", device_arn: "arn:aws:devicefarm:us-west-2::device:EXAMPLE123DEVICE456", configuration: { parameters: { "appium:version" => "3" } } )

Recursos com suporte

Ao criar uma sessão do Appium no Device Farm, recomendamos ter um conjunto distinto de recursos que exclua quaisquer recursos específicos do seu dispositivo local. No Device Farm, a criação da sessão pode falhar se determinados recursos não suportados forem definidos. Isso inclui recursos específicos do dispositivo, como e. udid platformVersion Além disso, alguns recursos relacionados ao ChromeDriver WebDriverAgent Android e ao iOS não são suportados, assim como recursos que só são compatíveis com emuladores e simuladores.

Comandos compatíveis

A maioria dos comandos do Appium que são executados corretamente em dispositivos Android e iOS reais serão executados conforme o esperado no Device Farm, com as seguintes exclusões:

Comandos do dispositivo Appium (/) appium/device

  • install_app

  • finger_print

  • send_sms

  • gsm_call

  • gsm_signal

  • gsm_voice

  • power_ac

  • power_capacity

  • network_speed

  • shake

Métodos e scripts de execução do Appium (/execute)

  • installApp

  • execEmuConsoleCommand

  • fingerprint

  • gsmCall

  • gsmSignal

  • sendSms

  • gsmVoice

  • powerAC

  • powerCapacity

  • networkSpeed

  • sensorSet

  • injectEmulatorCameraImage

  • isGpsEnabled

  • shake

  • clearApp

  • clearKeychains

  • configureLocalization

  • enrollBiometric

  • getPasteboard

  • installXCTestBundle

  • listXCTestBundles

  • listXCTestsInTestBundle

  • runXCTest

  • sendBiometricMatch

  • setPasteboard

  • setPermission

  • startAudioRecording

  • startLogsBroadcast

  • startRecordingScreen

  • startScreenStreaming

  • startXCTestScreenRecording

  • stopAudioRecording

  • stopLogsBroadcast

  • stopRecordingScreen

  • stopScreenStreaming

  • stopXCTestScreenRecording

  • updateSafariPreferences