Este documento apresenta um workshop sobre automação de testes com Selenium. A agenda inclui introdução ao Selenium, entendendo seu funcionamento e exercícios práticos. Os tópicos abordados incluem vantagens da automação, quando não automatizar, introdução ao Selenium e DOM, captura de elementos, entendendo asserções e exemplos práticos.
Slides da palestra "Testando aplicações Flex com Selenium" que apresentei no FlexMania 2011.
O código-fonte e a gravação da pelestra estão disponíveis no meu blog: http://victorserta.com.br/blog/2011/07/11/material-palestra-testando-aplicacoes-flex-com-selenium-do-flex-mania-2011/
Curso completo com 50% de desconto: https://bit.ly/2EDTlbH
Slide utilizado na ministração do curso Automatizando Testes de Software Com Selenium - Básico
Apresentação sobre a ferramenta de testes automatizados Selenium IDE.
Autor: Davi Matos
Disciplina: Engenharia de Software
IE: Universidade Federal Rural do Semi-Árido (UFERSA)
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e WebdriverJúlio de Lima
Slides da palestra que seria ministrada no 38º GURU SP, evento promovido pelo grupo de usuários Ruby de São Paulo no dia 07 de novembro de 2015.
Nesta palestra, apresento os frameworks Cucumber e WebDriver, usados para automação de testes em aplicações web usando BDD.
Testando uma aplicação AngularJS utilizando o KarmaHenrique Limas
Realize testes unitários de modo amigavel e eficiente utilizando AngularJS e o Karma runner. Deixe o seu teste unitário que seja de compreenssão para todos, não so desenvolvedores, utilizando a biblioteca Jasmine para descrever os testes.
Slides da palestra "Testando aplicações Flex com Selenium" que apresentei no FlexMania 2011.
O código-fonte e a gravação da pelestra estão disponíveis no meu blog: http://victorserta.com.br/blog/2011/07/11/material-palestra-testando-aplicacoes-flex-com-selenium-do-flex-mania-2011/
Curso completo com 50% de desconto: https://bit.ly/2EDTlbH
Slide utilizado na ministração do curso Automatizando Testes de Software Com Selenium - Básico
Apresentação sobre a ferramenta de testes automatizados Selenium IDE.
Autor: Davi Matos
Disciplina: Engenharia de Software
IE: Universidade Federal Rural do Semi-Árido (UFERSA)
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e WebdriverJúlio de Lima
Slides da palestra que seria ministrada no 38º GURU SP, evento promovido pelo grupo de usuários Ruby de São Paulo no dia 07 de novembro de 2015.
Nesta palestra, apresento os frameworks Cucumber e WebDriver, usados para automação de testes em aplicações web usando BDD.
Testando uma aplicação AngularJS utilizando o KarmaHenrique Limas
Realize testes unitários de modo amigavel e eficiente utilizando AngularJS e o Karma runner. Deixe o seu teste unitário que seja de compreenssão para todos, não so desenvolvedores, utilizando a biblioteca Jasmine para descrever os testes.
2° Workshop de Testes em Uberlândia - Treinamento em Automação de Testes com ...João Júnior
2° Workshop de testes de Software em Uberlândia, onde foram realizados:
Treinamento em Testes de Software
Palestra Usabilidade no Software
Treinamento em Automação de Testes com Selenium
nos dias 16 e 17 de abril de 2014.
Treinamento de Selenium totalmente prático com exemplos e exercícios, com comandos básicos, evidencias e utilização do conceito data driven.
Demonstrativo dos serviços de Soprojetos.
Mostra quais são nossos serviços, como entregamos, e o que detalhamos neles.
So Projetos - Plantas de Casas
www.soprojetos.com.br
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...iMasters
Charles Carrari, Analista de desenvolvimento Front- End da MundiPagg fala sobre Utilizando a virtualização para simplificar o desenvolvimento front-end no JS Experience'17
Saiba mais em https://eventos.imasters.com.br/jsexperience
Praticidade de criação de um projeto de automação de testes com Cypress utilizando JS como linguagem e as inúmeras praticidades do framework como viewports, pageobjects, cucumber e documentação dos testes.
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
Apresentado para o Pop-ES e NPD da Ufes. Conheça o significado de DevOps e como ele pode apoiar entregas mais rápidas de software por meio da mudança de cultura, automatização entre outras...
Acelere - e melhore! - o feedback com testes automatizados rápidosIgor Abade
Muita gente acredita que automação de testes é um Santo Graal e que Selenium é a resposta a todos os problemas de qualidade em aplicações Web. Mas se seus testes forem lentos e frágeis, de que eles servem? Venha ver como usar ferramentas como PhantomJS e Web Performance Tests para acelerar e simplificar a execução de testes automatizados de apps Web.
MoT-RJ: Identificando mudanças com snapshots teste - Ana IzabelLucas Fraga
Evento realizado dia 25.06.2019: https://www.meetup.com/pt-BR/Ministry-of-Testing-Rio-de-Janeiro/events/261299534/
Palestra da Ana Izabel explicando um pouco sobre como Identificar mudanças com snapshot test.
Automacao de Testes - do zero ao clean codeJoyce Bastos
Como ganhar empoderamento na automação de testes (web ou mobile)? Mais do que estudar uma linguagem específica de programação, temos a lógica e a colaboração por trás da automação. Então, como podemos começar a programar o mínimo possível envolvendo os conceitos de (classe, método e objeto) e ir evoluindo até envolver conceitos como interface, page objects, herança. Será mostrado um código inicial com conceitos bem básico porém que promovem a automação, um código intermediário com alguns conceitos um pouco mais avançados e que também promovem a automação e no fim um código com as práticas de clean code e que promove a mesma automação.
O que você precisa saber para se tornar um dev front-endDiego Eis
Ser um desenvolvedor front-end já foi mais fácil. Essa palestra mostra o caminho das pedras para os que estão iniciando na área e os que já estão, servindo como guia para assuntos importantes na área.
Link do artigo relacionado:
http://tableless.com.br/tornar-dev-front-end/
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abadeIgor Abade
Muita gente acredita que automação de testes é um Santo Graal e que Selenium é a resposta a todos os problemas de qualidade em aplicações Web. Mas se seus testes forem lentos e frágeis, de que eles servem? Venha ver como usar ferramentas como PhantomJS e Web Performance Tests para acelerar e simplificar a execução de testes automatizados de apps Web
Design System as a Product - Maria Elena Duenias, Esther Butcher
Design systems are a great example where web development and design meet. You can find innumerable resources on the internet, books and conferences on how to build them, and how they are exactly what your organization needs. But, building one requires a lot more than following a recipe. In this talk we are going to discuss how to build a design system as an internal product, and how it evolves to become what the users need.
Designers, Developers and Dogs: Finding the magic balance between product and tech - Charlotte Vorbeck, ShareNow and Sahil Bajaj
How can an agile delivery team become a successful product team? When does collaboration between product and tech succeed and when not? Why do people in some teams inspire each other while others in the same environment don't speak the same language? In this talk we want to share our learnings and experiences from rebuilding an internal tool for customer support at ShareNow. What could have been just another boring rewrite surprisingly became one of our best experiences in collaboration. We will look at how a joint discovery phase helped us to come up with a shared vision, how a better team setup enabled us to do the necessary work, how focusing on the customer kept us aligned during our journey, and also how we built upon existing collaborative techniques to achieve this new level of cooperation and trust.
During this presentation, Ward Coessens, ThoughtWorks' Consultant will share best practice insights from the Daimler partnership, helping the automotive group on their cloud innovation journey.
How to create more business impact with flexible teams - Jan Hegewald, Zalando & Rebekka Beels, Zalando
Usually, Software Engineering teams are organized around a fixed set of components which they develop further and maintain. Such component teams gain a high level of expert knowledge about their services. However, with agile product development, it often is difficult to implement the most important initiatives with such teams. This leads to a situation where the teams do not work on the most relevant business topics but on those for the respective team. At Zalando, we introduced a new model where we shape teams flexibly around business goals to create the highest impact. How we organize these teams and which challenges especially for the software quality need to be addressed, will be explored in this talk.
Amazon’s Culture of Innovation & The Working Backwards session
Working Backwards; leading organisations achieve growth by marrying customer-obsession with a modern technology strategy. Where do you begin? By focusing on the customer.
During this webinar, Amazon will discuss key innovation principles which have been instrumental in their continued success and their Working Backwards approach.
Dual-Track Agile for Discovery & Development - Adriana Katrandzhieva
The talk will focus on one of the ways teams can ensure continuous delivery and design in their projects. The so-called ‘Dual-track’ model shows the parallel tracks of discovery and development throughout the product design and delivery process. These continually feedback into each other informing new hypothesis that can be tested in order to be proven/disproven. This model is not always easy to implement out of the box and so I will share my own experiences in applying it in practice - what worked, what didn't and how the model can be adjusted to fit different teams and organisational environments.
Designing the Developer Experience - Tanja Bach, Jacob Bo Tiedemann
Working with software that some other people have built, is not only daily business for private and business users but also for developers. Just like any other product, a product for developers needs to solve their problems and focus on the right jobs-to-be-done in order to be successfully adopted by the developer community. In this talk, we will explain why the developer experience matters not only to developers but also to the business. We will share our learnings and real-world examples of how we created a developer experience for a cloud infrastructure product and an IoT platform that the developers love.
When we design together - Sabrina Mach, Ammara Gafoor and James Emmott
From three distinct perspectives, this talk will contend that design is an activity undertaken by everyone in a software development team. It occurs throughout the process of delivery — not only at the beginning or the end — and it is a powerful instrument for learning about and adapting to the problems our work seeks to solve, which is a shared responsibility. Making the best use of our multidisciplinary expertise in the activity of design requires forms of collaboration that are too often disrupted by the role-based silos that keep us separated and weaken the valuable contribution our diverse approaches could make to our collective efforts. If you care about accelerating time to market, improving customer experience, or building happy and productive teams, you will want to know why and how it matters that we believe ‘design is in everything that we do’.
Hardware is hard(er): designing for distributed user experiences in IoT - Claire Rowland, www.clairerowland.com
Designing connected devices and hardware-enabled services is significantly more complex than pure software. There are more devices on which code can run, connectivity and data sharing patterns to consider, and often multiple and varied touchpoints for users to interact with. Pulling this all together into a coherent experience involves strong collaboration between design and engineering, and a systems thinking approach to UX. In this talk, we’ll introduce what designers need to know about the tech, what engineers need to know about UX for IoT, and how to facilitate the whole-collaboration needed to create great products.
www.clairerowland.com
Customer-centric innovation enabled by cloudThoughtworks
Working Backwards - Leading organisations achieve growth by marrying customer-obsession with a modern technology strategy. In this upcoming webinar, we’ve partnered with AWS to bring you exclusive insights from one of the world’s most innovative companies, Amazon.
Working Backwards - Leading organisations achieve growth by marrying customer-obsession with a modern technology strategy. In this upcoming webinar, we’ve partnered with AWS to bring you exclusive insights from one of the world’s most innovative companies, Amazon.
Find out how to validate hypotheses quickly using feedback that comes from a (large enough) number of actual users interacting with your product. In this talk, we will show you the technical foundations, research techniques and organisational setup that we have used successfully on large-scale products. These will save you development time, enable you to go live with confidence, make decisions based on real behaviour instead of best guesses, and solve the actual problems your users are facing.
As a tech leader at ThoughtWorks, a large part of my job involves recommending practices to our clients so they can build and deliver good quality software faster. In doing so repeatedly for many clients I have created a toolkit that contains practical advice from being on the ground. This is what we do, we know it works. When Julius Caesar entered Rome with his army by crossing the river Rubicon, he did something that couldn’t be undone ever again. In your journey as a leader, avoid mistakes that are difficult to correct later. Here are a set of practices that you want to adopt as soon as possible.
Handling error conditions is a core part of the software we write. However, we often treat it as a second class citizen, obscuring our intent through abuse of null values and exceptions that make our code hard to understand and maintain. In the functional programming community, it is common to use datatypes such as Option, Either or Validated to make our intentions explicit when dealing with errors. We can leverage the compiler to verify that we are handling them instead of hoping for the best at runtime. This results in code that is clearer, without hidden path flows. We’ll show how we have been doing this in Kotlin, with the help of the Arrow library.
Mutation testing in software development surfaced in academia during the 70's and has recently seen a resurgence in popularity as a legitimate tool in your testing arsenal. In this session we review the conventional testing pyramid, modern approaches to testing software and look at how mutation testing can help fill in those blind spots.
The continued adoption of containers for deployments has introduced a new path for security issues. In this talk, we will cover the most common areas of vulnerabilities, the challenges in securing your containers, some good practices to help overcome these issues and how to run container security scanning as part of your deployment pipeline.
Mainframes handle 30 billion business transactions each day and 87% of all credit card transactions*, they are not traditionally associated with flexible, fail-fast development approaches. Can we bring the practices of agile, CI/CD and fully automated deployments to applications running on a mainframe? During our talk, we'll tell you a story about test automation; redefining the smallest testable unit of a program. And we'll discuss our learnings from introducing continuous integration and agile practices to the world of insurance and mainframes.
*9 Mainframe statistics that may surprise you
ThoughtWorks' Lucy Kurian, James Lewis & Kief Morris discuss tech trends in our latest Technology Radar, covering techniques, platforms, tools, languages and frameworks.
2. AGENDA
!
!
▫︎Por que automação de testes?
▫︎Introdução ao Selenium
▫︎Entendendo o Selenium
▫︎Exercícios "mão na massa"
2
3. VANTAGENS DOS TESTES AUTOMATIZADOS
!
▫︎Evitar trabalho repetitivo
!
▫︎Geralmente mais rápido que teste manual
!
▫︎Feedback constante da aplicação
!
▫︎Simular a interação de um usuário real do sistema
3
4. VANTAGENS DOS TESTES AUTOMATIZADOS
▫︎Não é diretamente acoplada à implementação do
código
!
▫︎Auxilia a encontrar bugs e erros de regressão
!
▫︎Fácil de ser implementado em diferentes plataformas e
navegadores
!
▫︎Podemos encontrar inclusive problemas de hardware
(memória e recursos) através da automação
4
5. DESVANTAGENS DOS TESTES AUTOMATIZADOS
!
▫︎Manutenção
!
▫︎Velocidade pode ser afetada
!
▫︎Fragilidade (depende de elementos da UI)
!
▫︎Vulnerabilidade - Os testes podem ficar instáveis se, por
exemplo, algum componente em Javascript demorar
para carregar.
5
7. NÃO AUTOMATIZAR QUANDO:
!
▫︎Haverá mudanças consideráveis na interface do usuário
em um futuro bem próximo
!
▫︎Muito pouco tempo para testar
!
▫︎Não é uma ação muito comum e previsível de ser
realizada por um usuário real
!
▫︎Cenários extremamente complexos
7
8. QUADRANTES DO AGILE TESTING
8
Adaptada de: http://lisacrispin.com/2011/11/08/using-the-agile-testing-quadrants
9. PIRÂMIDE DE TESTE DE SOFTWARE
9
Adaptada de: http://watirmelon.com/2012/01/31/introducing-the-software-testing-ice-cream-cone
10. PIRÂMIDE INVERTIDA (SORVETE) DE TESTE DE SOFTWARE
10
Adaptado de: http://watirmelon.com/2012/01/31/introducing-the-software-testing-ice-cream-cone
11. INTRODUÇÃO AO SELENIUM
!
▫︎Iniciada em 2004 por um ThoughtWorker chamado
Jason Huggins
!
▫︎Algum tempo depois, Simon Stewart do Google iniciou
um projeto chamado WebDriver
!
▫︎Ambos projetos se uniram, dando origem ao Selenium-
WebDriver (Selenium 2.0)
11
12. POR QUE SELENIUM?
!
▫︎Suporta várias linguagens: Java, Ruby, Python, JavaScript,
etc…
!
▫︎Suporta vários browsers: Chrome, Firefox, Safari, IE,
Opera, Headless, Android, iOS etc…
!
▫︎É open-source!
12
13. ALGUMAS OUTRAS VARIAÇÕES...
!
!
▫︎Selenium IDE: ferramenta record & playback apenas
para testes simples/básicos. Não recomendado para
automação séria! :)
!
▫︎Selenium-Grid: Útil para executar testes em paralelo
em múltiplas máquinas remotas.
13
14. O QUE É DOM (DOCUMENT OBJECT MODEL) ?
14
ANTES DE COMEÇARMOS…
23. LIVROS/MATERIAIS RECOMENDADOS
!
▫︎Selenium:
▫︎Selenium API
▫︎Selenium WebDriver Practical Guide
▫︎Selenium Simplified
!
▫︎Teste de Software e outras ferramentas:
▫︎Agile Testing: A Practical Guide for Testers and Agile Teams
▫︎The Cucumber Book
23