Teste de automação de aplicativos móveis tem existido por algum tempo agora. Era considerado um luxo ter uma suíte de testes automatizados para o seu app nos primeiros dias. Mas agora, tornou-se uma parte essencial do DevOps.
Existem muitos benefícios no teste de automação, mas os três a seguir são os mais importantes:
- Aumento da cobertura de teste: O teste de automação permite testar mais funcionalidades em menos tempo. Isso significa que você pode aumentar sua cobertura de teste sem aumentar o orçamento de teste.
- Redução do risco de erro humano: Os testes automatizados têm menor chance de omitir casos limite ou ter outros erros durante o teste manual de um app.
- Feedback mais rápido: Os testes automatizados podem ser executados muito mais rapidamente do que os testes manuais. Isso significa que você pode obter feedback sobre o seu app muito mais cedo, o que pode ajudá-lo a corrigir problemas antes que se tornem grandes problemas.
O teste de automação de aplicativos móveis é um processo valioso que pode ajudá-lo a lançar apps de melhor qualidade em menos tempo.
Mas a questão que surge aqui é: você está abrangendo o suficiente de dispositivos para testar sua aplicação e garantir sua qualidade de primeira classe. Testar sua aplicação em um único dispositivo ou muitos dispositivos pode resultar em problemas específicos de dispositivo, problemas de UI em diferentes resoluções e problemas funcionais em diferentes versões do sistema operacional.
Por que executar o mesmo script em vários dispositivos é importante?
Testar uma aplicação em vários dispositivos é um passo importante no processo de QA. Devemos ter a certeza de que nossa aplicação funciona com diferentes dispositivos, versões de SO e tamanhos de tela.
Existem muitas razões pelas quais é importante testar aplicações em vários dispositivos. Uma das razões mais importantes é que os usuários podem usar diferentes tipos de dispositivos para acessar a mesma app. Não podemos prever qual dispositivo um usuário vai usar para acessar a app, então precisamos garantir que funciona. Para termos certeza de que podemos facilmente executar nosso Script de Automação em vários dispositivos.
Como Executar o Mesmo Script em Múltiplos Dispositivos usando o Appium?
Quando estamos executando nosso script do Appium, precisamos passar capacidades desejadas do Appium, que incluem platformName, platformVersion, e nosso deviceName.
{ "platformName": "iOS", "platformVersion": "11.0", "deviceName": "iPhone 9", "automationName": "XCUITest", "app": "/path/to/my.app" }
Copied
Para executar seu script de teste em outro dispositivo, precisamos mudar as capacidades desejadas do nosso script de teste, e ele executará o script de teste nesse dispositivo específico. Não precisamos mudar o nosso script de teste para executá-lo em dispositivos diferentes. No entanto, pode haver diferenças entre a execução de scripts de teste em dispositivos Android e iOS, pois os locadores de elementos podem diferenciar-se entre Android e iOS. Mas um script escrito para qualquer dispositivo Android ou iOS pode ser executado em todos os dispositivos com o mesmo SO, mudando as capacidades desejadas.
Desafios na Gerenciamento de Dispositivos Múltiplos
Executar seu script em vários dispositivos é a coisa fácil de fazer em seu processo de teste de automação, mas gerenciar esses dispositivos e ter múltiplos dispositivos é a parte mais difícil e um assunto caro para seu processo de automação. Se falarmos apenas sobre iPhones, eles variam de iPhone6 à iPhone13, usados pelos usuários com uma mistura de iOS11 até iOS16. E, quando se trata de Android, esses números aumentaram drasticamente. Nenhuma equipe pode gerenciar ou possuir todos os dispositivos populares apresentados no mercado com versões diferentes do SO.
Leia Mais: Executar Testes Appium em um Dispositivo iOS
Emulador/Simulador como alternativa
Primeiro, o que vem à nossa mente para resolver isso é usar emuladores e simuladores para diferentes dispositivos. Mas testar em um emulador/simulador não é o mesmo que testar em dispositivos reais. Enquanto simuladores e emuladores se aproximam da imitação, é impossível executar o mesmo que um dispositivo real. Isto é porque emuladores não conseguem considerar cada fator ambiental, funcionalidade ou ação de usuário realizada em um dispositivo real. A vantagem de dispositivos reais está no nome. Testar em dispositivos reais, físicos significa que você está testando da mesma forma que seus usuários operam seus dispositivos.
Testar em Dispositivos Reais: Vantagem
Aqui, BrowserStack surge como um salvador para livrar-se do caos de dispositivos. BrowserStack App Automate fornece todos os populares dispositivos com versões diferentes do sistema operacional para testar sua aplicação automaticamente usando Appium. Você pode integrar facilmente BrowserStack em seu framework para testar seus scripts em vários dispositivos.
Executando Scripts Appium em Múltiplos Dispositivos usando BrowserStack
Executar seus scripts de teste no BrowserStack com vários dispositivos é bastante sem complicações usando o App Automate. Você só precisa seguir algumas etapas para alterar suas configurações e integrará sua automação de testes existente com o BrowserStack.
Etapa 2: Faça o upload de seu arquivo .apk ou .ipa no BrowserStack. Você pode fazer isso usando o “Upload your App” no seu Painel ou você também pode usar as APIs do BrowserStack para fazer o upload automaticamente. Você receberá uma URL do App após fazer o upload de seu aplicativo.
{ "app_url":"bs://f7c874f21852ba57957a3fdc33f47514288c4ba4" }
Copied
Passo 3: Especifique a aplicação em teste usando a capacidade app. Use o valor app_url retornado ao carregar a aplicação (Passo 2) para definir esta capacidade.
- Especifique o dispositivo Android ou iOS real que você deseja testar usando a capacidade device.
- Para inicializar um driver Appium, use uma URL remota do BrowserStack junto com suas credenciais de acesso do BrowserStack (mencionadas em Passo 1) como mostrado abaixo:
https://YOUR_USERNAME:[email protected]/wd/hub
Isso ficará como isso:
userName = "YOUR_USERNAME" accessKey = "YOUR_ACCESS_KEY" desired_caps = { "build": "Android", "device": "Samsung Galaxy S8 Plus", “platformVersion": "11.0", "app": "<app_url>" } driver = webdriver.Remote("https://" + userName + ":" + accessKey + "@hub-cloud.browserstack.com/wd/hub", desired_caps)
Copied
Fazendo isso, o seu script Appium começa a executar no BrowserStack Real Devices na nuvem.
Você pode mudar o dispositivo facilmente alterando seu nome e versão da plataforma em caps desejados. No BrowserStack, você também pode executar seus testes em paralelo para finalizar seu automatização mais rápido. O BrowserStack fornece Vídeo, Logs de Dispositivo, Logs de Rede e Logs do Appium para depuração, e você pode verificar seus testes em execução no seu Painel. O BrowserStack pode ajudar você a executar seus Scripts de Teste com vários dispositivos, e você não precisa gerenciar esses dispositivos por conta própria.
Para concluir,
O App Automate do BrowserStack torna fácil a execução de testes em vários dispositivos reais. Ao mudar simplesmente as Capacidades Desejadas, o usuário pode executar testes em milhares de dispositivos e sistematicamente determinar se sua aplicação está pronta para ser lançada ou não. Equipes de QA encontrarão fácil usar o painel de resultados para encontrar e depurar problemas instantaneamente.
Source:
https://www.browserstack.com/guide/how-to-run-same-script-in-multiple-devices-using-appium