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?

Foi útil?

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 :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top