- Introdução ao Test Suite
- Studio
- Test Suite — Studio
- Visão geral
- Atividades de testes e APIs
- Arquitetura de automação de dispositivos móveis
- Introdução
- Gerenciamento do Mobile Device Manager
- Gerenciamento de aplicativos
- Criação de fluxos de trabalho de Mobile Automation
- Interação de dispositivos
- Depuração
- Logs e linha do tempo de execução
- Cenários de solução de problemas
- Automação para aplicativos React Native
- Atividades de automação móvel e APIs
- Orchestrator
- Testing Robots
- Test Manager
- Licenciamento do Test Manager
- Guia de início rápido
- Requisitos
- Assigning test cases to requirements
- Linking test cases in Studio to Test Manager
- Unlink automation
- Delete test cases
- Documentar casos de teste com o Task Capture
- Criar casos de teste
- Casos de teste de clonagem
- Exportação de casos de teste
- Automatizar casos de teste
- Casos de teste manuais
- Aplicação de filtros e visualizações
- Conjuntos de Testes
- Execução de testes
- Documentos
- Relatórios
- Exportar Dados
- Operações em massa
- Solução de problemas
Cenários de solução de problemas
Se você tiver problemas, considere os seguintes cenários de solução de problemas:
Os tópicos abaixo descrevem os problemas e suas correções correspondentes para automação de dispositivos móveis.
Descrição: o fluxo de trabalho no Studio gera erros inesperados e os pacotes de atividades não exibem as versões instaladas.
Causa: dentro do seu projeto, a versão principal do pacote de atividades UI.Automation não corresponde à versão principal do pacote de atividades Mobile.Automation . Por exemplo, a versão principal do pacote UI.Automation instalado é 22.10.x, e a versão principal do pacote Mobile.Automation instalado é 22.4.x.
Solução: Certifique-se de que as versões principais dos pacotes de atividade UI.Automation e Mobile.Automation , instalados em seu projeto, correspondam. Por exemplo, par UI.Automation.Activities versão 22.10.x somente com Mobile.Automation.Activities versão 22.10.x.
Condição: Ao usar o Appium 2.0.
/wd/hub/session
.
--base-path /wd/hub
.
Condição: Ao usar o Appium 2.0.
Descrição: todos os recursos não padrão devem ter um prefixo de fornecedor.
appium:
para todos os recursos, como a seguir:
- No prompt de comando ou terminal, em vez de
--default-capabilities "{\"systemPort\": 8201}"
, insira--default-capabilities "{\"appium:systemPort\": 8201}"
. - Na guia Adicionar um dispositivo do Mobile Device Manager, adicione manualmente o prefixo
appium:
antes do nome de qualquer recurso adicional desejado.
Condição: Ao usar o Appium 2.0.
automationName
não pode ficar em branco.
appium:
como um prefixo. Por exemplo, appium:automationName
.
Condição: Ao usar o Appium 2.0.
Descrição: Não foi possível encontrar o driver instalado para suportar os caps especificados.
O Appium 2.0 não instala automaticamente os drivers necessários. Você tem que baixá-los separadamente.
Solução: Instale o driver necessário para sua plataforma.
- Para dispositivos Android, instale o driver
uiautomator2
usando o comandoappium driver install uiautomator2
. - Para dispositivos iOS, instale o driver
xcuitest
, usando o comandoappium driver install xcuitest
.
Os tópicos a seguir descrevem os problemas para dispositivos Android e seus remédios correspondentes.
InvalidArgumentException
resultante de uma discrepância no formato esperado de um recurso. O problema surge quando um recurso é inserido como uma String, enquanto o Appium espera um valor booleano. Uma mensagem de erro indicativa inclui:Failed to create session.
A new session could not be created.
Details: io.appium.uiautomator2.common.exceptions.InvalidArgumentException:
Invalid '<capability name>' setting value type.
Got java.lang.String. Expected: java.lang.Boolean
Failed to create session.
A new session could not be created.
Details: io.appium.uiautomator2.common.exceptions.InvalidArgumentException:
Invalid '<capability name>' setting value type.
Got java.lang.String. Expected: java.lang.Boolean
Solução: desinstale os seguintes aplicativos do dispositivo local:
io.appium.uiautomator2.server
io.appium.uiautomator2.server.test
WebDriverException
. Este erro normalmente é exibido como Parameters were incorrect. We wanted {\"required\":[\"text\"]} and you sent [\"value\"]", "FaultCode":"WebDriverException"}
.
Solução: desinstale sua versão atual do UiAutomator 2. Em seguida, instale uma versão mais recente, usando os seguintes comandos na ordem determinada:
appium driver uninstall uiautomator2
appium driver install uiautomator2@2.29.0
, onde2.29.0
é a versão que você deseja instalar. Você pode substituir isso por qualquer versão disponível.
npm install -g appium
(para Appium 1.x) ou npm install -g appium@next
(para Appium 2.0) falha porque você está executando atrás de um proxy. O erro lança a seguinte mensagem:
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly.
See: 'npm help config'
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly.
See: 'npm help config'
Solução de problema: configure o npm (Gerenciador de pacotes de nós) para usar seu proxy. Siga os passos abaixo:
-
Obtenha o endereço do servidor proxy e o número da porta:
- Vá para Opções da Internet.
- Selecione a guia Conexões .
-
Selecione Configurações da LANe copie o conteúdo dentro dos campos Endereçoe Porta .
-
Retorne ao prompt de comando do Node.js e execute um comando que segue o formato abaixo:
- Para proxies HTTP:
npm config set http://your_proxy_address:your_port_number
. - Para proxies do HTTPS:
npm config set https://your_proxy_address:your_port_number
.
- Para proxies HTTP:
- Execute o comando
npm install -g appium
(para Appium 1.x) ounpm install -g appium@next
(para Appium 2.0) novamente.
Descrição: não foi possível acessar o contexto da Web fornecido. Verifique se o Android WebView é depurável. Acesse Depuração remota WebViews para obter mais informações sobre o acesso a contextos da Web.
Remédios:
- Use os Seletores de modo de exibição da Web como seletores nativos nos contextos da web que não são reconhecidos.
- Se os seletores funcionarem em aplicativos da Web, mas não em um aplicativo nativo, o aplicativo não habilita a depuração de webviews. Nesse caso, consulte Introdução à depuração remota dos Android WebViews e Depuração remota dos WebViews.
Descrição: Dispositivo não autorizado.
Solução: Siga os seguintes passos:
- Use o comando
adb devices
para verificar os dispositivos existentes. - Revogue a depuração no telefone.
- Reinicie o servidor ADBusando os seguintes comandos, nesta ordem:
adb kill-server
e, em seguidaadb start-server
. - Reconecte o dispositivo e confirme que você concorda com a conexão nesse dispositivo.
Descrição: o dispositivo Android inicia uma automação de navegador em vez do aplicativo determinado, causando erros.
Solução: Em vez disso, comece com um navegador da web.
Os tópicos abaixo descrevem os problemas, e suas soluções correspondentes, para dispositivos iOS.
Descrição: quando você clica em um elemento WebView, o seletor não funciona e não é possível automatizar o elemento.
Solução: use simuladores com a versão mais recente do iOS e Appium 2.
Descrição: o dispositivo físico iOS falha ao iniciar.
Solução: Siga os seguintes passos:
- Certifique-se de que seu dispositivo está confiando no certificado. No seu dispositivo, acesse Configurações > Geral > Perfis e gerenciamento de dispositivos, toque na entrada de e-mail (por exemplo, Desenvolvimento da Apple: nomedousuario@email.com), e então confie no certificado. Se o dispositivo estiver usando sua conta corporativa, isso não será necessário.
- Se você receber um erro de que a porta 8100 não está acessível, feche o Appium (
ctrl + c
) e reinicie-o - Se você receber um erro diferente, consulte Dispositivo real no driver XCUITest do Appium.
Descrição: o dispositivo iOS 16.0 falha ao iniciar ou conectar.
Solução: Instale e use o Appium 2.0 em vez do Appium 1. Consulte a seção Pré-requisitos do dispositivo iOS local para obter mais informações sobre a instalação e gerenciamento do Appium 2.0.
Descrição: o iOS 12.4.5 não funciona como esperado quando emparelhado com o Appium 1.22.3.
Causa: Isso é causado por um problema com o Appium.
Solução: Escolha uma das opções abaixo:
- Use uma versão inferior do Appium, como 1.17.0.
- Atualize o dispositivo para versões iguais ou superiores ao iOS 14.
- Automação de dispositivos móveis
- Fluxo de trabalho e atividades que geram erros
- Nenhuma rota encontrada para wd/hub/session
- Prefixo do fornecedor necessário para todos os recursos não padrão
- nomedaautomação não pode ficar em branco
- Não é possível encontrar o driver instalado
- Android
- Falha de conexão devido a
InvalidArgumentException
para recursos - Falha de atividade devido a um
WebDriverException
- A instalação do Appium falha devido ao proxy
- Não foi possível acessar o contexto da Web fornecido.
- Dispositivo não autorizado
- Automação do navegador ao iniciar na tela inicial
- Aplicativo Android não inicia
- iOS
- Não é possível clicar em elementos do WebView no iOS 13
- Falha na inicialização de dispositivo físico iOS
- O dispositivo iOS 16.0 falha ao iniciar
- Mau funcionamento do iOS 12.4.5