- Ferramentas do desenvolvedor›
- AWS Device Farm›
- Perguntas frequentes
Perguntas frequentes sobre o AWS Device Farm
Testes em dispositivos móveis reais
O que é o AWS Device Farm?
O AWS Device Farm permite que desenvolvedores melhorem a qualidade do aplicativo, o tempo de entrada no mercado e a satisfação do cliente ao testar e interagir com dispositivos reais Android e iOS na Nuvem AWS. Os desenvolvedores podem carregar seus aplicativos, testar scripts e executar testes automáticos em paralelo em mais de 100 dispositivos reais, obtendo resultados, screenshots, vídeos e dados de desempenho em minutos. Eles também podem depurar e reproduzir problemas do cliente ao passar o dedo (na tela), gesticular e interagir com um dispositivo por meio de seus navegadores da web.
Quem deve usar o AWS Device Farm e por quê?
O AWS Device Farm foi criado para desenvolvedores, equipes de controle de qualidade (QA) e representantes de atendimento ao cliente que estejam criando, testando e sustentando aplicativos móveis para aumentar a qualidade de seus aplicativos. A qualidade do aplicativo é cada vez mais importante, além de estar se tornando complexa, devido ao número de modelos de dispositivos, às variações nas versões de firmware e sistema operacional, às personalizações das operadoras e fabricantes e às dependências de serviços remotos e outros aplicativos. O AWS Device Farm acelera o processo de desenvolvimento ao executar testes em vários dispositivos, oferecendo a desenvolvedores, profissionais de QA e atendimento a capacidade de executar testes automáticos e tarefas manuais, como a reprodução de problemas do cliente, o teste exploratório de novas funcionalidades e a execução de planos de teste manual. O AWS Device Farm também oferece uma economia significativa ao eliminar a necessidade de laboratórios de dispositivo internos, gerentes de laboratório e o desenvolvimento de uma infraestrutura de automação.
Que tipos de aplicações são compatíveis no AWS Device Farm?
O AWS Device Farm é compatível com aplicativos Android, iOS e da web nativos e híbridos, e aplicativos de várias plataformas, inclusive os criados com PhoneGap, Titanium, Xamarin, Unity e outras estruturas.
O AWS Device Farm usa simuladores ou emuladores?
Os testes do AWS Device Farm são executados em dispositivos reais. Estes são uma mistura de dispositivos OEM e dispositivos com a marca da operadora.
Configuração de testes e sessões de acesso remoto
Como faço para começar a usar o AWS Device Farm?
Consulte o nosso guia de conceitos básicos.
Quais navegadores são compatíveis pelo console do AWS Device Farm?
O AWS Device Farm funciona com o Internet Explorer 9 ou posterior e com as versões mais recentes do Chrome, Firefox e Safari.
Quais navegadores são compatíveis para teste de aplicações Web?
Seus aplicativos web serão testados no Chrome no Android e Safari no iOS.
Qual o tamanho de arquivo máximo para aplicações e testes?
O AWS Device Farm suporta arquivos de até 4 GB.
Preciso instrumentar minha aplicação ou fornecer o código-fonte?
Para usar os testes internos, não é necessária instrumentação nem o fornecimento de código-fonte. Os aplicativos para Android podem ser apresentados sem modificações. Os aplicativos para iOS devem ser criados com o "dispositivo iOS" como alvo, em vez de simulador.
Vocês armazenam minha aplicação, testes e outros arquivos em seus servidores? Por quanto tempo?
Aplicações e pacotes de teste são removidos automaticamente após 30 dias. Logs, gravações em vídeo e outros artefatos são armazenados por 400 dias. Você também pode optar por excluir arquivos e resultados a qualquer momento usando o console ou a API do AWS Device Farm.
Como os dispositivos são limpos após a conclusão dos testes?
Após a conclusão dos testes, executamos uma série de tarefas de limpeza em cada dispositivo, incluindo a desinstalação do aplicativo. Se não pudermos confirmar a desinstalação da aplicação ou qualquer outra etapa de limpeza, o dispositivo será removido e deixará de estar disponível.
Embora continuemos a acrescentar mais etapas de limpeza e a melhorar o processo de limpeza, é possível, em alguns casos, que os dados persistam entre sessões, particularmente se você usar o sistema do dispositivo fora do contexto do aplicativo. Por esse motivo, e como o AWS Device Farm captura vídeo e logs das atividades realizadas durante o uso de cada dispositivo, recomendamos que você evite informar ou inserir dados confidenciais como informações sobre contas (por exemplo, conta do Google, ID da Apple), informações pessoais e outros detalhes confidenciais durante as sessões de teste automatizado e acesso remoto.
Vocês modificam meu aplicativo?
No iOS, nós substituímos o perfil de provisionamento incorporado por um perfil genérico e encerramos o aplicativo. Se você fornecê-lo, dados auxiliares serão adicionados ao pacote do aplicativo antes da instalação, de modo que os dados estejam presentes no sandbox do seu aplicativo. O encerramento do aplicativo para iOS resulta na remoção de certos direitos. Entre eles estão: App Group, Associated Domains, Game Center, HealthKit, HomeKit, Wireless Accessory Configuration, In-App Purchase, Inter-App Audio, Apple Pay, Push Notifications e VPN Configuration & Control.
No Android, nós encerramos o aplicativo. Isso pode inutilizar a funcionalidade que depende da assinatura do aplicativo, como a API do Google Maps para Android. Pode também disparar a detecção antipirataria e antiviolação disponível em produtos como o DexGuard. Para os testes internos, podemos modificar o manifesto para incluir as permissões necessárias para capturar e salvar screenshots.
Seleção de dispositivos
Quais dispositivos estão disponíveis no AWS Device Farm? Como você seleciona os dispositivos na sua frota?
O AWS Device Farm tem uma grande (e crescente) seleção de dispositivos Android, iOS e Fire OS. Acrescentamos novos dispositivos populares conforme vão sendo lançados pelos fabricantes. Também acrescentamos novos dispositivos à medida que novas versões do sistema operacional são lançadas. Consulte a lista de dispositivos disponíveis.
O AWS Device Farm tem dispositivos internacionais de mercados como a Europa, China e Índia?
No momento, disponibilizamos dispositivos internacionais da Índia. Usamos dados de mercado e feedback do cliente para atualizar a frota continuamente. Se você deseja ver um dispositivo que não esteja em nossa frota, avise-nos.
Como faço para selecionar dispositivos? Posso testar novamente no mesmo dispositivo?
Para testes automáticos, os dispositivos são selecionados por meio de uma coleção chamada de pool de dispositivos. Alguns pools de dispositivos pré-selecionados são fornecidos automaticamente, mas você também pode criar seus próprios pools. Os testes serão executados em todos os dispositivos do pool especificado que sejam compatíveis com o seu aplicativo e os testes. Para o acesso remoto, selecione o dispositivo desejado com base na marca, modelo, variante de operadora e versão do sistema operacional. Como opção, você poderá, então, carregar aplicativos e outros dados, além de configurar outras definições do dispositivo. Depois disso, o Device Farm localiza um dispositivo disponível que corresponda à sua solicitação e exibe a tela do dispositivo no seu navegador. Agora, você poderá interagir com o dispositivo e capturar screenshots e vídeo.
Há algum aplicativo pré-instalado nos dispositivos de teste do AWS Device Farm?
Sim, os dispositivos de teste têm vários aplicativos pré-instalados pelo fabricante do dispositivo ou pela operadora.
Os dispositivos são capazes de se comunicar com outros serviços ou sistemas disponíveis na Internet?
Sim. Todos os dispositivos têm uma conexão WiFi com acesso à Internet. Se os sistemas forem internos (ou seja, estiverem atrás de um firewall corporativo), você poderá permitir o intervalo IP 54.244.50.32 a 54.244.50.63. Todo o tráfego de dispositivos virá desses IPs.
Posso testar conexões e condições de operadoras diferentes?
Embora não seja possível testar conexões reais de operadoras, você pode simular tipos e condições de conexão usando a funcionalidade de modelagem de rede. Ao programar uma execução, você poderá selecionar um perfil de rede administrado como “3G” ou “Lossy LTE” ou criar o seu próprio perfil para controlar parâmetros como throughput, variação e perda. Todo o tráfego WiFi do dispositivo será modelado e manipulado durante os testes de acordo com o perfil selecionado. Também é possível simular ambientes dinâmicos ao alterar parâmetros de rede por meio de scripts de teste.
Posso fazer chamadas ou enviar SMS dos dispositivos?
Não, os dispositivos não têm conexões com as operadoras e não podem fazer chamadas telefônicas, nem enviar SMS.
Posso utilizar a câmera do dispositivo?
Sim, é possível usar tanto a câmera frontal quanto a traseira do dispositivo. Devido à forma como os dispositivos são montados, imagens e vídeos pode ficar escuros e embaçados.
Testar seu aplicativo
Eu ainda não tenho nenhum script de teste automatizado. O que acontece nos testes internos?
O pacote de teste de compatibilidade interno permite instalar, desinstalar, iniciar e executar o Fuzz no aplicativo.
O que o Fuzz faz?
O Fuzz realizará testes difusos na interface do usuário imediatamente após a inicialização. Ele envia entradas aleatórias de dados do usuário (toques, movimento de deslizar o dedo, entrada de dados pelo teclado) de forma rápida ao seu aplicativo. Você pode configurar o número de eventos, o atraso entre eventos e a semente usada para tornar os eventos aleatórios. O uso da mesma semente em vários ensaios resultará na mesma sequência de eventos.
Testo usando uma estrutura de automação. Quais estruturas vocês suportam?
O AWS Device Farm oferece suporte a testes em aplicações nativas, híbridas e Web para as plataformas Android e iOS. As seguintes frameworks têm suporte por padrão: Appium Java JUnit, Appium Java TestNG, Appium Python, Appium Ruby, Appium NodeJS, Instrumentation (incluindo JUnit, Espresso e a maioria dos testes baseados em instrumentação) e XCTest (incluindo XCUI e KIF). Para obter mais informações e uma lista completa das frameworks com suporte, acesse nossa documentação.
Quais frameworks de teste têm suporte para aplicações Web?
Você pode executar testes escritos em Appium Java JUnit, Appium Java TestNG ou Appium Python.
É possível adicionar suporte para uma estrutura modificada ou projetada por mim mesmo?
Estamos sempre avaliando estruturas para suporte. Entre em contato conosco.
Como o AWS Device Farm decide quando fazer uma captura de tela durante um teste?
Se você usa uma das estruturas de automação suportadas, tem controle total e pode decidir quando gerar screenshots. Esses screenshots são incluídos nos seus relatórios automaticamente.
Android: O Google Play Services está disponível nos seus dispositivos? Qual versão está instalada?
Sim, o Google Play Services está instalado nos dispositivos que o suportam. Os serviços são atualizados conforme novas versões se tornam disponíveis.
Android: Existe uma conta do Google padrão nos dispositivos?
Não, os dispositivos não têm uma conta do Google ativa.
O AWS Device Farm suporta a automação de gravação e reprodução ou eu tenho de gravar meus scripts?
O AWS Device Farm suporta frameworks como Expresso e Robotium, que têm ferramentas para geração de scripts de gravação e reprodução.
iOS: Preciso adicionar UDIDs ao meu perfil de provisionamento?
Não, o AWS Device Farm substituirá automaticamente o perfil de provisionamento e encerrará o seu aplicativo para que seja possível implantá-lo nos seus dispositivos.
iOS: Minha aplicação não contém os símbolos de depuração. Eu posso fornecer um arquivo dSYM para o AWS Device Farm?
Não, mas você pode fazer o download dos logs e criar símbolos de debug (symbolication) para os rastreamentos de pilha localmente.
Android: Minha aplicação está ofuscada. Ainda posso testá-lo no AWS Device Farm?
Sim, se você usa o ProGuard. Se você usa o DexGuard com medidas antipirataria, não é possível reassinar o aplicativo e executar testes nele.
Minha aplicação distribui anúncios. Eles serão exibidos nos seus dispositivos? Meu provedor de anúncios vai sinalizar isso como abuso e banir a minha conta?
Embora os dispositivos tenham acesso à Internet, não podemos garantir que os anúncios serão exibidos. É recomendável que você remova os anúncios das compilações testadas no AWS Device Farm.
Posso acessar a máquina que hospeda o dispositivo ou acessar seu shell como parte dos meus testes? Posso acessar a Internet nessa máquina?
Sim. Se você estiver usando uma estrutura cliente-servidor como o Calabash, Appium ou UI Automation, poderá acessar a Internet e executar comandos shell limitados no host.
Gostaria de fornecer mídia ou outros dados para minha aplicação consumir. Como faço isso?
Você pode fornecer um arquivo .zip de até 4 GB. No Android, ele será extraído para a raiz da memória externa. No iOS, ele será extraído para o sandbox do seu aplicativo. Para arquivos de expansão (OBB) do Android, colocaremos automaticamente o arquivo no local apropriado para a versão do sistema operacional. Para obter mais informações, consulte o Guia do desenvolvedor.
Minha aplicação precisa de dependências para testar toda a funcionalidade. Posso instalar outros aplicativos?
Sim, você pode selecionar vários aplicativos e a ordem na qual quer instalá-los. Esses aplicativos dependentes serão instalados antes do início dos testes.
Posso testar fluxos de atualização para o meu aplicativo? Como faço para instalar uma versão antiga do meu aplicativo?
Sim, para testar seu fluxo de atualização, você pode fazer o upload de uma versão antiga do seu aplicativo e instalá-la antes de instalar e testar a nova versão.
Minha aplicação faz uso de serviços de localização. Posso especificar a localização física do dispositivo?
Sim, você pode fornecer as coordenadas de latitude e longitude que serão usadas para substituir o GPS do dispositivo.
Posso executar testes de localização? Como faço para alterar o idioma do dispositivo?
Sim, você pode fornecer uma localidade (por exemplo, "pt_BR") para substituir a configuração de localidade padrão de um dispositivo.
Quanto tempo demora para meu teste começar?
Os testes são colocados em fila para execução imediatamente e, em geral, começam em poucos minutos. Se um ou mais dispositivos não estiverem disponíveis, a execução do teste desses dispositivos permanecerá na fila até que eles sejam disponibilizados. Os testes nos outros dispositivos do seu ensaio prosseguirão.
Qual é o tempo máximo de teste permitido?
O tempo máximo permitido é de 150 minutos.
O AWS Device Farm fornece uma maneira de executar testes e obter resultados por meio de uma API?
Sim. Temos um plug-in para o ambiente de integração contínua Jenkins e um plug-in do Gradle compatível com o Android Studio. O AWS Device Farm também fornece suporte programático para todos os recursos do console, incluindo a configuração de um teste e o download dos resultados do teste por meio de uma API. Para obter mais informações, consulte areferência da API do AWS Device Farm. Além da API, você pode acessar o AWS Device Farm nos SDKs da AWS.
Verificação de resultados
O que o relatório de teste do AWS Device Farm contém?
Os relatórios de teste do AWS Device Farm contêm informações de aprovação/reprovação, relatórios de falhas, logs de teste, logs de dispositivo, screenshots, vídeos e dados de desempenho. Os relatórios incluem dados detalhados por dispositivo e também resultados gerais, como o número de ocorrências de um determinado erro. Os resultados do acesso remoto contêm logs e um vídeo da sessão.
Quais logs de dispositivo estão incluídos em um relatório do AWS Device Farm?
Os relatórios do AWS Device Farm incluem logs completos de logcat (Android) e de dispositivo (iOS), bem como logs do host do dispositivo e estrutura de teste especificada.
Meus testes geram e salvam arquivos de log adicionais. Vou vê-los nos meus relatórios do AWS Device Farm?
Se você gravar dados no Logcat (Android) ou no log do dispositivo (iOS), essas entradas de log serão incluídas no relatório. O AWS Device Farm não coleta logs não padronizados ou outros artefatos, embora você possa transferir arquivos por meio do script de teste usando a conexão de Internet do dispositivo ou do host do dispositivo.
Preços
Quanto custa o AWS Device Farm?
A definição de preço é baseada em minutos de dispositivo, que são determinados pela duração dos testes em cada dispositivo selecionado. O AWS Device Farm é fornecido com teste gratuito de 1000 minutos de dispositivo.* Depois disso, os clientes recebem uma cobrança de 0,17 USD por minuto de dispositivo. À medida que suas necessidades de teste forem aumentando, você poderá optar por um plano de teste de acesso sem limites, que permitirá testes ilimitados mediante o pagamento de uma taxa mensal fixa de 250 USD por dispositivo.
Como funciona o teste gratuito?
Os primeiros 1.000 minutos de dispositivo são disponibilizados gratuitamente. Esse teste gratuito é fornecido uma única vez e não é renovável. Após o término da alocação do teste gratuito, será cobrada a taxa padrão de 0,17 USD por minuto de dispositivo.
O que é um minuto de dispositivo?
Um minuto de dispositivo é a unidade de cobrança. Minutos de dispositivo são uma medida do tempo necessário (em minutos) para instalar, executar e desinstalar o aplicativo e os testes em todos os dispositivos que você selecionou para seu ensaio. O preço unitário é constante, independentemente do dispositivo, teste ou tipo de aplicativo. Os minutos de dispositivo são cobrados apenas para testes que são concluídos sem erros no dispositivo ou no sistema. De modo similar, para as sessões de acesso remoto, os minutos de dispositivo são calculados a partir do tempo necessário para preparar um dispositivo para sua especificação até a remoção completa de qualquer aplicativo e dado que você tenha inserido no dispositivo.
Você pode aumentar e diminuir sua utilização de forma dinâmica de acordo com as necessidades da sua empresa, sem limite máximo ou compromissos antecipados.
Como funciona o teste gratuito?
Os primeiros 1.000 minutos de dispositivo são disponibilizados gratuitamente.* Esse é um teste gratuito não renovável. Após o término da alocação do teste gratuito, será cobrada a taxa padrão de 0,17 USD por minuto de dispositivo.
O que é o plano ilimitado e como funcionam os slots de dispositivo?
Os planos ilimitados permitem teste e acesso remoto ilimitados a partir de 250 USD mensais. A definição de preço do plano ilimitado é baseada no número de vagas de dispositivo adquiridas para cada tipo de uso (ou seja, teste automático ou acesso remoto) e família de dispositivos (ou seja, Android ou iOS), com custo de 250 USD mensais por vaga. As vagas de dispositivo correspondem à simultaneidade.
Por exemplo, se você comprar dez vagas de dispositivo Android de teste automático e programar uma execução de 100 dispositivos Android, o Device Farm executará os testes com até dez dispositivos por vez até que todos os testes dos dispositivos selecionados sejam concluídos. A compra de mais vagas acelera a obtenção de resultados. Independentemente do número de testes ou sessões de acesso remoto que você realiza em um mês, será cobrada a taxa fixa de 250 USD mensais por slot de dispositivo. Você pode cancelar a sua assinatura para um ou mais slots de dispositivos a qualquer momento e o cancelamento entrará em vigor na sua próxima data de renovação (o dia do mês em que você comprou seu primeiro slot ativo de dispositivo). Você pode adquirir slots no console do AWS Device Farm, AWS Command Line Interface (AWS CLI) ou AWS Device Farm API. Para saber mais, acesse a nossa documentação.
E se eu precisar alterar os testes e adicionar ou remover slots de dispositivo?
Você pode adicionar vagas de dispositivo a qualquer momento e com disponibilidade imediata. Você também pode cancelar a assinatura de um ou mais slots de dispositivo a qualquer momento. O cancelamento entrará em vigor na sua próxima data de renovação (o dia do mês em que você comprou seu primeiro slot ativo de dispositivo).
Se estou em um plano ilimitado, posso usar a cobrança limitada?
Sim. Ao criar um ensaio, você poderá optar por usar as vagas de dispositivo ilimitadas ou usar minutos de dispositivo limitados. Como a simultaneidade não está limitada à cobrança limitada, você tem a flexibilidade de executar com maior rapidez do que seria possível usando as vagas de dispositivo.
O que é um dispositivo privado?
Um dispositivo privado é uma instância física de um telefone ou tablet, exclusiva da sua conta. Os dispositivos privados podem ter configurações personalizadas e estáticas e executar imagens de sistema operacional personalizadas. Cada dispositivo é implantado automaticamente e removido ao final da assinatura.
Como funcionam as assinaturas de dispositivo privado e qual é o seu preço?
Cada dispositivo privado na sua conta é considerado com uma assinatura de dispositivo privado. O preço da assinatura mensal é dividido em camadas estabelecidas de acordo com o custo do dispositivo, e o seu valor inicial é de 200 USD/mês. Após o período mínimo de assinatura, você poderá cancelar a assinatura a qualquer momento. Entre em contato conosco para obter mais informações.
Posso usar dispositivos privados e públicos?
Sim. Ao selecionar dispositivos para uma execução de teste ou sessão de acesso remoto, você verá dispositivos privados e públicos. Também é possível criar grupos com dispositivos privados e públicos. Para obter mais informações sobre dispositivos privados, entre em contato conosco.
Teste em navegadores do desktop
O que é o Selenium?
Selenium é uma estrutura de código aberto que automatiza a interação do navegador da web. Saiba mais sobre o Selenium aqui.
O que é o teste do navegador do desktop no AWS Device Farm?
O Device Farm permite que você execute seus testes Selenium em diferentes navegadores do desktop e versões de navegador hospedados na nuvem da AWS. O Device Farm segue um modelo de execução do lado do cliente para testes do Selenium, ou seja, seus testes são executados em sua própria máquina local, mas interagirão com os navegadores hospedados no AWS Device Farm por meio da API do Selenium.
Como começo a testar o navegador do desktop no AWS Device Farm?
Para começar, consulte o nosso guia de conceitos básicos aqui.
Em qual sistema operacional os navegadores estão hospedados?
Todos os navegadores estão hospedados em instâncias do Windows EC2 que são executadas no Microsoft Windows Server.
Quais tipos de navegadores do desktop são suportados no AWS Device Farm?
Você pode ver a lista de navegadores do desktop e versões de navegadores compatíveis aqui.
Quais recursos desejados são compatíveis com o AWS Device Farm?
Você pode ver a lista de recursos desejados do Selenium suportados pelo Device Farm aqui.
Quais artefatos estão disponíveis para solucionar falhas de teste?
O Device Farm gera logs do console, logs do driver da web, logs de ações e gravações de vídeo de todo o teste para ajudar a solucionar problemas de falhas no teste.
Posso usar o AWS Device Farm para testar meu aplicativo Web em dispositivos móveis reais?
Sim. O Device Farm oferece suporte ao teste de aplicativos da Web em dispositivos móveis reais usando o Appium. Visite nosso guia do desenvolvedor para o Appium Web Testing para saber mais. Observe que, para testar em dispositivos móveis reais, o Device Farm segue um modelo de execução no servidor e, portanto, você precisará enviar seus testes para o serviço.
Quais são os limites do Teste em navegadores do desktop no AWS Device Farm?
Você pode encontrar todos os limites para esse recurso aqui.
Quanto custa o teste do navegador do desktop no AWS Device Farm?
A definição de preço é baseada nos minutos da instância, que são determinados pela duração dos testes em cada instância do navegador selecionada. Serão cobrados 0,005 USD por minuto da instância do navegador.
O que é um minuto de instância?
Um minuto de instância é a unidade de cobrança do Teste do navegador do desktop no Device Farm. Os minutos da instância são uma medida do tempo necessário (em minutos) para executar seus testes em todas as instâncias do navegador que você selecionou para sua execução. O preço unitário de 0,005 USD é constante, independentemente do navegador ou versão do navegador que você selecionou. Não cobramos o tempo necessário para iniciar, inicializar ou desmontar a instância do EC2 que hospeda o navegador.