1) O documento descreve como o autor usou a ferramenta Watir-Webdriver para automatizar tarefas em um portal da Cielo que tinha uma interface difícil de usar.
2) O autor precisava extrair informações do portal da Cielo em planilhas do Excel diariamente, então projetou um scraper de tela usando o Watir-Webdriver.
3) O Watir-Webdriver permitiu que o autor automatizasse o login no portal, navegasse entre as páginas e frames, extraísse os dados e os exportasse para o Excel.
10. Cielo
"Responsável pelo credenciamento de estabelecimentos comerciais, e pela
captura, transmissão, processamento e liquidação financeira das
transações realizadas com cartões de crédito e débito"
Imagens:
http://www.x-jetpacks.com/wp-content/uploads/death-star.png
http://kldsuportville.com.br/index/wp-content/uploads/2013/12/cartao.png
11. Cielo
"Responsável pelo credenciamento de estabelecimentos comerciais, e pela
captura, transmissão, processamento e liquidação financeira das
transações realizadas com cartões de crédito e débito"
Imagens:
http://www.x-jetpacks.com/wp-content/uploads/death-star.png
http://kldsuportville.com.br/index/wp-content/uploads/2013/12/cartao.png
65. E tem muito mais:!
• Executa javascript lindamente (me salvou do teclado
virtual)
• Acessa frameceptions facilmente
• Faz drag and drop
• Suporta chamadas ajax com “Wait until present” ou
“Wait While Present”
• Tem comandos do tipo “tables”, “as”, “lis”, “uls”,
enfim, o negócio vai muito naturalmente!
• Read the docs: http://rubydoc.info/gems/watir-
webdriver/frames
69. Fizemos um design
básico:
Page!
• Realiza as interações
com as diferentes
páginas (cada page
object sabe da sua
página)
Parser!
• Extrai e limpa os
valores extraídos das
páginas,
transformando-os em
objetos nativos
(Hashes e Arrays na
maioria)
70. Fizemos um design
básico:
Page!
• Realiza as interações
com as diferentes
páginas (cada page
object sabe da sua
página)
Parser!
• Extrai e limpa os
valores extraídos das
páginas,
transformando-os em
objetos nativos
(Hashes e Arrays na
maioria)
Exporter!
• Recebe os dados em
objetos nativos e
exporta para excel
71. Task
Fizemos um design
básico:
Page!
• Realiza as interações
com as diferentes
páginas (cada page
object sabe da sua
página)
Parser!
• Extrai e limpa os
valores extraídos das
páginas,
transformando-os em
objetos nativos
(Hashes e Arrays na
maioria)
Exporter!
• Recebe os dados em
objetos nativos e
exporta para excel
77. Criamos mais um
objeto no nosso design:
NavigationStack!
• Ordena e executa a navegação
programada na task.
• Em caso de erro na execução, volta
os passos necessários
(browser.back) e tenta novamente
até o fluxo programado funcionar!