AUTOMAÇÃOMOBILE
COMEXPO
EREACT-NATIVE
Compartilhando dificuldades técnicas e como as contornei ao
implantar automação numa empresa waterfall
onde os testes são totalmente manuais.
RodrigoMatola
RODRIGOMATOLA
QA
Automatizador
Agilista
BacharelemMeteorologia
ExprofessordeFísicaeMatemática
Fotógrafopordiversão
Cerveja
LINKTR.EE/RODRIGOMATOLA
Foto do crachá
HARDSKILLS
ISSUES
Precisamosimplantarautomaçãoe
processosdequalidade
noaplicativodeumaempresade
pedágioeletrônico.
Chegandolá...
estápara
assimcomo
VantagensdoExpo
JS
DesvantagensdoExpo
Então,
vamoscomeçara
automação!?
arctomlandroid.txt
}
TextViews...
Cadêosids???
id
accessibilityLabel
xpathou
accessibilityLabel
expobuild
accessibilityLabel
xpath//*[@text=""]
xpath
/hierarchy/android.widget.FrameLayout/android.widget.LinearLa
yout/android.widget.FrameLayout/android.widget.FrameLayout/
android.widget.FrameLayout/android.widget.FrameLayout/andro
id.view.ViewGroup/android.support.v4.widget.i/android.view.Vie
wGroup/android.view.ViewGroup/android.view.ViewGroup/androi
d.view.ViewGroup[2]/android.widget.TextView[2]
Pqp!
Comovoufazer?
Opção1
Appium::TouchAction.new.tap
(x:x,y:y,count:1).release.perform
Opção1(problema)
diferentesposiçõesparadiferentesresoluções
implementaçãocomplicadaparatodoselementos
senãoachouacima,comovaiacharaqui?
Opção2
defmapear_tela
find_elements(:class,'android.widget.TextView')
end
defmapear_dados_tela
find_elements(:class,'android.widget.EditText')
end
Opção2
campos=mapear_dados_tela
campos[0]=>"CódigodoCliente"
campos[1]=>"CPF"
campos[2]=>"Nome"
campos[3]=>"E-mail*"
...
Opção2(problema)
campos[7]=>"CEP*"
campos[7].send_keys
>elementnotfound
Opção2(problema)
scrollup
campos[3]=>"CEP*"
(masnãoerao[7]?)
Opção2(solução?)
Todososelementosnatela
Semnecessidadedescroll
Tablet10"
Opção2:screenobject
INDICES_MEUS_DADOS={
'códigocliente'=>0,
'cpf'=>1,
'nome'=>2,
'email'=>3
...
}
Opção2:screenobject
defpreencher_nome
elementos=mapear_tela
campo_nome=
elementos[INDICES_DADOS_PESSOAIS['nome']]
campo_nome.send_keys(CLIENTES['tipo']['nome'])
end
Opção2:bagunça...
IDs_LOGIN={
'campocpf'=>'digiteseucpf',
'continuar'=>'//*[@text="Continuar"]',
'camposenha'=>'camposenha',
'visualizarsenha'=>'Visualizarsenha',
'esqueciasenha'=>'//*[@text="Esqueciminhasenha"]',
'manterconectado'=>'Mantenha-meconectado',
'entrar'=>'//*[@text="Entrar"]',
'logincomfacebook'=>-2,
'logincomgoogle'=>-1
}
Freezing
NovaArquitetura
Organização
IDs_LOGIN={
'campocpf'=>'digiteseucpf',
'continuar'=>'//*[@text="Continuar"]',
'logincomgoogle'=>-1
}
find_element(:accessibility_id,IDs_LOGIN['campocpf']).send_keys
find_element(:xpath,IDs_LOGIN['continuar']).click
login[IDs_LOGIN['logincomgoogle']].click
SOFTSKILLS
ISSUES
Façamanual
Testesrasos
Testesrasos
Atendimentoaocliente
PERGUNTAS?
Contatos
LINKTR.EE/RODRIGOMATOLA
LINKTR.EE/RODMATOLA

Automação Mobile com Expo e React-Native