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.
Baseado no impacto dos dispositivos móveis e da sua produtividade, serão demonstradas as vantagens da adoção do HTML5 e suas APIs em projetos Web, tendo como os principais benefícios: portabilidade, fácil manutenção, otimização de recursos e resultados.
Será discutido o estágio atual do HTML5, tendências, como gerar negócios com a tecnologia e também soluções que podem ser adotadas enquanto os navegadores dos dispositivos móveis não implementam todos os recursos da especificação do HTML5.
Curso sobre AngularJS, tratando deste ambiente e ferramentas modernas de desenvolvimento até o desenvolvimento de uma aplicação usando AngularJS. Curso em duas partes.
No final foram desenvolvidas duas aplicações que podem ser vistas nos links:
https://github.com/alvarowolfx/shopping-list
https://github.com/alvarowolfx/ng-pokedex
Baseado no impacto dos dispositivos móveis e da sua produtividade, serão demonstradas as vantagens da adoção do HTML5 e suas APIs em projetos Web, tendo como os principais benefícios: portabilidade, fácil manutenção, otimização de recursos e resultados.
Será discutido o estágio atual do HTML5, tendências, como gerar negócios com a tecnologia e também soluções que podem ser adotadas enquanto os navegadores dos dispositivos móveis não implementam todos os recursos da especificação do HTML5.
Curso sobre AngularJS, tratando deste ambiente e ferramentas modernas de desenvolvimento até o desenvolvimento de uma aplicação usando AngularJS. Curso em duas partes.
No final foram desenvolvidas duas aplicações que podem ser vistas nos links:
https://github.com/alvarowolfx/shopping-list
https://github.com/alvarowolfx/ng-pokedex
pepinos do cliente no código de testes da aplicação com OSSRodrigo Urubatan
Slides da palestra que apresentei no FISL 2010 sobre BDD, Cucumber, Rails, Ruby, Java e mais um pouco.
Os videos utilizados podem ser encontrados em:
http://vimeo.com/13523947
http://vimeo.com/13524790
Hibernate efetivo (IA-2014 / Disturbing the Mind)Rafael Ponte
Mesmo anos após o lançamento do Hibernate ainda é fácil encontrar projetos utilizando o framework de maneira ineficiente, podendo leva-lo a problemas sérios de performance ou até inviabilizar a aplicação. O uso não efetivo do Hibernate está intimamente ligado a erros comuns e más práticas em sua utilização, que vão desde pool de conexões, select n+1, configuração de cache, batch-size até o uso indevido do cache level 1 em processamentos batch e o tratamento de LazyInitializationException.
Palestra ministrada no evento Disturbing the Mind 2014 do Instituto Atlântico (IA).
Palestra voltada a empreendedores interessados em conhecer mais sobre tecnologias de internet, possibilidades, e potencial. Também, inclui conhecimentos básicos de programação, para profissionais que tem interesse em ingressar na área
Palestra que apresentei no FISL, para dúvidas, criticas ou sugestões enviem emails para FISL AT urubatan DOT com DOT br.
Todos os comentários são bem vindos.
Na palestra falo bastante sobre PhoneGap e um pouco sobre Titanium Mobile.
Apresentação (2ªparte) aos alunos da Escola Padre António Morais da Fonseca (Murtosa) - Cursos Profissionais de Multimédia, durante a semana de informática de 2011, sobre o que aí vem na web - novas tecnologias, novas opções e novas oportunidades. Incluiu breve introdução ao Jquery.
Slides da apresentação realizada no TDC2011 em Florianópolis/SC no dia 20/Agosto/2011 das 16:40 às 17:30 na trilha de SOA/Cloud.
O Azure é o produto de IaaS e PaaS da Microsoft que disponibiliza máquinas virtuais para Cloud Computing baseadas em Windows Server 2008 e na capacidade de receber aplicações com suporte a IIS e ASP.NET. Mas, o PaaS ainda não possibilita a execução de aplicações Java. Portanto, resta-nos apenas usar o IaaS ao executar a instalação e configuração da infra-estrutura necessária para rodar aplicações Java EE. Contudo, esta instalação e configuração são delegadas para o cliente. Nesta sessão serão apresentados alguns desafios e dificuldades do ponto de vista de um desenvolvedor para a instalação de um servidor de aplicações Java EE 6 e a implantação de uma aplicação Java escalável, clusterizada, tolerante a falhas e elástica no Microsoft Azure.
IaaS = Infrastructure as a Service; PaaS = Platform as a Service; IIS = Internet Information Server.
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com SwiftJuliana Chahoud
Minicurso de iOS efetuado durante a 17a Semcomp - Semana da Computação do ICMC USP São Carlos
http://semcomp.icmc.usp.br/17/programacao/minicurso/15/desenvolvendo-um-aplicativo-ios-com-swift/
O mercado de aplicativos é um dos que mais cresce em todo o mundo. Neste minicurso será demonstrado na prática como criar um aplicativo iOS desde o início até sua conclusão. O aplicativo será todo construído com a nova linguagem de programação da Apple, o Swift.
Os tópicos abordados durante a construção do aplicativo serão:
- Como preparar o ambiente de desenvolvimento
- Principais funcionalidades do Xcode, a interface de desenvolvimento
- Como criar e estruturar um projeto
- Características básicas da linguagem de programação Swift
- Criação de interfaces gráficas com Storyboards
- Como compilar e executar o aplicativo em diversos simuladores (iPhone, iPad, iOS 7 e iOS 8)
- Quais os próximos passos para seguir na área de desenvolvimento de aplicativos
DevDay - O elo perdido: sincronizando webappsSuissa
O Elo perdido: sincronizando webapps com node.js foi uma palestra apresentada no DevDay de Belo Horizonte, na qual fala como criarmos uma app offline com html5 e como podemos sincronizar seus dados com o servidor em Node.js e MongoDb.
Mais conteúdo relacionado
Semelhante a Automatizando Tarefas com o Watir-Webdriver - Case
pepinos do cliente no código de testes da aplicação com OSSRodrigo Urubatan
Slides da palestra que apresentei no FISL 2010 sobre BDD, Cucumber, Rails, Ruby, Java e mais um pouco.
Os videos utilizados podem ser encontrados em:
http://vimeo.com/13523947
http://vimeo.com/13524790
Hibernate efetivo (IA-2014 / Disturbing the Mind)Rafael Ponte
Mesmo anos após o lançamento do Hibernate ainda é fácil encontrar projetos utilizando o framework de maneira ineficiente, podendo leva-lo a problemas sérios de performance ou até inviabilizar a aplicação. O uso não efetivo do Hibernate está intimamente ligado a erros comuns e más práticas em sua utilização, que vão desde pool de conexões, select n+1, configuração de cache, batch-size até o uso indevido do cache level 1 em processamentos batch e o tratamento de LazyInitializationException.
Palestra ministrada no evento Disturbing the Mind 2014 do Instituto Atlântico (IA).
Palestra voltada a empreendedores interessados em conhecer mais sobre tecnologias de internet, possibilidades, e potencial. Também, inclui conhecimentos básicos de programação, para profissionais que tem interesse em ingressar na área
Palestra que apresentei no FISL, para dúvidas, criticas ou sugestões enviem emails para FISL AT urubatan DOT com DOT br.
Todos os comentários são bem vindos.
Na palestra falo bastante sobre PhoneGap e um pouco sobre Titanium Mobile.
Apresentação (2ªparte) aos alunos da Escola Padre António Morais da Fonseca (Murtosa) - Cursos Profissionais de Multimédia, durante a semana de informática de 2011, sobre o que aí vem na web - novas tecnologias, novas opções e novas oportunidades. Incluiu breve introdução ao Jquery.
Slides da apresentação realizada no TDC2011 em Florianópolis/SC no dia 20/Agosto/2011 das 16:40 às 17:30 na trilha de SOA/Cloud.
O Azure é o produto de IaaS e PaaS da Microsoft que disponibiliza máquinas virtuais para Cloud Computing baseadas em Windows Server 2008 e na capacidade de receber aplicações com suporte a IIS e ASP.NET. Mas, o PaaS ainda não possibilita a execução de aplicações Java. Portanto, resta-nos apenas usar o IaaS ao executar a instalação e configuração da infra-estrutura necessária para rodar aplicações Java EE. Contudo, esta instalação e configuração são delegadas para o cliente. Nesta sessão serão apresentados alguns desafios e dificuldades do ponto de vista de um desenvolvedor para a instalação de um servidor de aplicações Java EE 6 e a implantação de uma aplicação Java escalável, clusterizada, tolerante a falhas e elástica no Microsoft Azure.
IaaS = Infrastructure as a Service; PaaS = Platform as a Service; IIS = Internet Information Server.
Semcomp - USP São Carlos - Desenvolvendo um aplicativo iOS com SwiftJuliana Chahoud
Minicurso de iOS efetuado durante a 17a Semcomp - Semana da Computação do ICMC USP São Carlos
http://semcomp.icmc.usp.br/17/programacao/minicurso/15/desenvolvendo-um-aplicativo-ios-com-swift/
O mercado de aplicativos é um dos que mais cresce em todo o mundo. Neste minicurso será demonstrado na prática como criar um aplicativo iOS desde o início até sua conclusão. O aplicativo será todo construído com a nova linguagem de programação da Apple, o Swift.
Os tópicos abordados durante a construção do aplicativo serão:
- Como preparar o ambiente de desenvolvimento
- Principais funcionalidades do Xcode, a interface de desenvolvimento
- Como criar e estruturar um projeto
- Características básicas da linguagem de programação Swift
- Criação de interfaces gráficas com Storyboards
- Como compilar e executar o aplicativo em diversos simuladores (iPhone, iPad, iOS 7 e iOS 8)
- Quais os próximos passos para seguir na área de desenvolvimento de aplicativos
DevDay - O elo perdido: sincronizando webappsSuissa
O Elo perdido: sincronizando webapps com node.js foi uma palestra apresentada no DevDay de Belo Horizonte, na qual fala como criarmos uma app offline com html5 e como podemos sincronizar seus dados com o servidor em Node.js e MongoDb.
Semelhante a Automatizando Tarefas com o Watir-Webdriver - Case (20)
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!