Calabash tratamento "Concluir acção utilizando a caixa de diálogo"
-
21-12-2019 - |
Pergunta
Eu quero testar a funcionalidade de compartilhamento de um aplicativo, mas eu não tenho nenhuma idéia de como lidar com android diálogo "Concluir acção utilizando" (Facebook, Gmail, etc.)
Quando eu uso query("*")
ele está retornando um conjunto vazio de campos.
Existe alguma maneira de lidar com caixas de diálogo do sistema usando Calabash ou qualquer outra forma de testar tais funcionalidades como a partilha?
Eu estou correndo meus testes no dispositivo físico.
Editar:Se não há nenhuma maneira de verificar se a caixa de diálogo foi aberto ou não, então talvez seja possível utilizar o adb shell, ou algo assim?
Solução
Não é uma solução elegante, mas você pode simular toques na tela usando o adb.Há uma resposta que cobre aqui - simulação de toque usando o ADB
Editar:A adição de alguns detalhes sobre como utilizar o adb para copiar um arquivo de todos os elementos da INTERFACE do usuário.
No sdk do android em plataformas/android-L pasta há uma ferramenta chamada uiautomater.jar que bad pode usar para executar testes (que eu nunca usei por que) e para copiar um arquivo xml dos elementos visíveis.
adb shell uiautomator dump test.xml
irá criar o arquivo xml (no dispositivo que não o computador) que você pode, em seguida, olhar através de seu código para verificar o pop-up que você deseja.Se você deseja interagir com o pop-up, em seguida, você pode usar as coordenadas dadas no xml dump para escolher o que você quiser e usar um bad evento de toque para clicar nele.
Não é uma bela solução, mas espero que não muito difícil para trabalhar em sua testa :)