Teste de automação de aplicativos móveis já existe há algum tempo. 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 que você teste 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 menos chances de Oversight de casos limite ou ter outros erros durante o teste manual de um app.
- Feedback mais rápido: Testes automatizados podem ser executados muito mais rapidamente do que 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 problemas maiores.
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 pergunta surge aqui: você cobre dispositivos o suficiente para testar sua aplicação e torná-la de qualidade superior? Testar sua aplicação em um único dispositivo ou em muitos pode resultar em problemas específicos do dispositivo, problemas de UI em diferentes resoluções e problemas funcionais em diferentes versões do SO.
- Por que Rodar o mesmo Script em Múltiplos Dispositivos é Importante?
- Como Rodar o Mesmo Script em Múltiplos Dispositivos usando o Appium?
- Desafios em Gerenciar Múltiplos Dispositivos
- Testando em Dispositivos Reais: Vantagem
- Executando Scripts do Appium em Múltiplos Dispositivos usando o BrowserStack
Por que Rodar o mesmo Script em Múltiplos Dispositivos é Importante?
Testar uma aplicação em vários dispositivos é um passo importante no processo QA. Devemos ter a certeza de que nossa aplicação funciona com diferentes dispositivos, versões do sistema operacional e tamanhos de tela.
Há muitas razões para a importância de 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 aplicação. Não podemos prever qual dispositivo o usuário usará para acessar a aplicação, portanto, precisamos garantir que funcione. Para garantir que possamos executar facilmente nossos scripts de automação em vários dispositivos.
Como executar o mesmo script em vários dispositivos usando Appium?
Ao executarmos o script Appium, precisamos passar as 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 alterar as capacidades desejadas de nosso script de teste, e ele executará nosso script de teste neste dispositivo específico. Não precisamos alterar nosso script de teste para executá-lo em dispositivos diferentes. No entanto, pode ser diferente da execução de scripts de teste em dispositivos Android e iOS, pois os localizadores de elementos podem diferir em dispositivos Android e iOS. Mas um script escrito para qualquer dispositivo Android ou iOS pode ser executado em todos os dispositivos com o mesmo SO, alterando as capacidades desejadas.
Desafios em Gerenciar Múltiplos Dispositivos
Executar seu script em vários dispositivos é a coisa mais fácil de fazer no seu processo de Teste de Automação, mas gerenciar esses dispositivos e ter vários dispositivos é a parte mais difícil e uma despesa cara para seu processo de Automação. Se falarmos apenas sobre os iPhones, existem do iPhone 6 ao iPhone 13, usados pelos usuários com uma mistura de iOS 11 a iOS 16. E, quando se trata de Android, esses números aumentam massivamente. Nenhum time pode gerenciar ou possuir todos os dispositivos populares apresentados no mercado com diferentes versões de SO.
Emulador/Simulador como Alternativa
A primeira coisa que vem à nossa mente para resolver isto é usar emuladores e simuladores para diferentes dispositivos. Mas testar em um emulador/simulador não é o mesmo que testar em Dispositivos Reais. Embora os simuladores e emuladores se aproximem da imitação, é impossível fazer o mesmo que em um dispositivo real. Isso ocorre porque os emuladores não podem considerar todos os fatores ambientais, recursos ou ações do usuário executadas em um dispositivo real. A vantagem dos dispositivos reais está no nome. Testar em dispositivos físicos reais significa que você está testando da mesma forma que seus usuários operam seus dispositivos.
Testar em Dispositivos Reais: Vantagem
Aqui o BrowserStack chega como um salvador para desfazer a confusão dos dispositivos. BrowserStack App Automate fornece todos os dispositivos populares com diferentes versões de SO para testar sua aplicação automaticamente usando o Appium. Você pode facilmente integrar o BrowserStack em seu framework para testar seus scripts em vários dispositivos.
Executar scripts Appium em vários dispositivos usando BrowserStack
Executar seus scripts de teste no BrowserStack com vários dispositivos é muito fácil usando o App Automate. Você precisa seguir algumas etapas para alterar suas configurações e isso irá integrar seu automação de teste existente com o BrowserStack.
Passo 2: Envie seu arquivo .apk ou .ipa para o BrowserStack. Você pode fazer isso usando “Enviar sua App” no seu painel de controle ou você pode usar também as APIs do BrowserStack para fazer o upload automaticamente. Depois de enviar sua aplicação, você obterá uma URL de aplicação.
{ "app_url":"bs://f7c874f21852ba57957a3fdc33f47514288c4ba4" }
Copied
Passo 3: Especifique o aplicativo em teste usando a capacidade app. Use o valor app_url retornado no upload do aplicativo (Passo 2) para definir essa capacidade.
- Especifique o dispositivo Android ou iOS real que você deseja testar usando a capacidade device.
- Para inicializar um driver do Appium, use uma URL remota do BrowserStack junto com suas credenciais de acesso do BrowserStack (mencionadas no passo 1) conforme mostrado abaixo:
https://YOUR_USERNAME:[email protected]/wd/hub
Isso ficará assim:
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
Ao fazer isso, seu script Appium começará a ser executado nos Dispositivos Reais do BrowserStack na nuvem.
Você pode facilmente mudar o dispositivo alterando seu nome e versão da plataforma nas capacidades desejadas. No BrowserStack, você também pode executar seu teste em paralelo para concluir sua automação mais rapidamente. O BrowserStack fornece Vídeo, Logs do Dispositivo, Logs de Rede e Logs do Appium para depuração, e você pode verificar suas execuções de teste no seu Dashboard. O BrowserStack pode ajudá-lo 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 determinar sistematicamente se sua aplicação está pronta para ser lançada ou não. As equipes de QA encontrarão fácil de 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