O documento discute o UI AutoMonkey, uma ferramenta de teste automatizado para aplicativos iOS que executa uma série de eventos aleatórios como cliques e toques para estressar o aplicativo e encontrar bugs. Ele explica como o UI AutoMonkey funciona usando JavaScript, e como o autor criou funções personalizadas para tratar eventos específicos como zoom e rotação de fotos em um aplicativo.
3. O que é o Instruments
É uma ferramenta que faz parte doconjuntodo XCode
• Utilizandoo Instruments é possível:
• examina comportamentosdoWi-Fi e Bluetooth
• realiza testede desempenho
• detectapossíveis problemasno uso dememória
• identifica maneiras de otimizaro app no consumodabateria
• e etc
4.
5. 1. Alterna entre código e
o log de execução do
teste
2. Criação/manutenção
do script de teste
3. Executar, gravar e
parar o teste
4. Gerenciar scripts de
teste
1
2
4
3
6. O que preciso saber
• A linguagem utilizada é o JavaScript
• Precisa do fonte do app
• O script é gravado navegando pelo app (no dispositivo ou simulador)
• Podemos utilizar Page Objects
• Podemos utilizar o Test Suite
7.
8. O que é UI AutoMonkey
• É um script onde é executado no emulador ou no próprio dispositivo, uma
série de eventos aleatórios, como clique, toques, rotações etc. no aplicativo
• A vantagem do UI Automonkey é de estressar o aplicativo aleatoriamente
atrás de bugs que com o teste normal não iria encontrar (ou seria muito
cansativo e custoso)
9.
10. • Nesse trecho de código, determinei a área onde os toques são possíveis
• Está configurado apenas para iPhone 5, 5s e 5c que tem o mesmo tamanho
de tela
11. • Essa é a funcionalidade de zoom na foto
• Aqui também determinei a área para dar o zoom na foto
12. Essa função trata a
orientação da foto (paisagem
ou retrato).
O script fica alternando a
orientação da foto simulando
um usuário.
13. Mas encontrei um grande problema.
Como os toques na tela são aleatórios, como executar a função somente quando a foto
for selecionada?
14. Fiz uma outra função que trata apenas da funcionalidade foto.
Nessa função verifico se o elemento fechar está visível na tela (que é um
elemento específico da foto).
Se tiver visível, executo a função fotoZoom e fotoOrientacao
15.
16.
17.
18. Até agora, as funções criadas só executariam uma única vez.
Para "macaco" funcionar, fiz um outro script que faz o loop de quantas vezes
quero que o teste seja executado.