O documento descreve a ferramenta Selenium, que permite a automação de testes em aplicações web. O Selenium pode ser usado durante o desenvolvimento de software para automatizar testes repetitivos e evitar bugs. Ele suporta diversas linguagens de programação e navegadores, e possui quatro componentes principais: IDE, client API, WebDriver e Grid.
Palestra apresentada no The Developer's Conference de Porto Alegre 2018. Trilha Delphi.
Nesta palestra iremos relatar nossa experiência na migração de um serviço Delphi totalmente contido em monolito para um novo micro-serviço aproveitando grande parte do código fonte original.
Este projeto nasceu usando bibliotecas comuns ao invés de fontes compartilhados e utilizamos as mais atuais abordagens de desenvolvimento: TDD, ATDD, Continuous Integration, Continuous Delivery e Dockerização, possibilitando que nossa aplicação Delphi seja distribuída com qualidade em três versões: Linux64, Win32 e Win64.
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)Mayara Fernandes
Nessa palestra apresento alguns conceitos legais que um QA deve ter para ajudar o time no processo DevOps, principalmente ajudando na implantação dos testes automatizados em um ciclo de Entrega Contínua!!
Palestra apresentada no The Developer's Conference de Porto Alegre 2018. Trilha Delphi.
Nesta palestra iremos relatar nossa experiência na migração de um serviço Delphi totalmente contido em monolito para um novo micro-serviço aproveitando grande parte do código fonte original.
Este projeto nasceu usando bibliotecas comuns ao invés de fontes compartilhados e utilizamos as mais atuais abordagens de desenvolvimento: TDD, ATDD, Continuous Integration, Continuous Delivery e Dockerização, possibilitando que nossa aplicação Delphi seja distribuída com qualidade em três versões: Linux64, Win32 e Win64.
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)Mayara Fernandes
Nessa palestra apresento alguns conceitos legais que um QA deve ter para ajudar o time no processo DevOps, principalmente ajudando na implantação dos testes automatizados em um ciclo de Entrega Contínua!!
Feedback mais rápido na sua build dividindo os testes funcionaisElias Nogueira
Apresentação em 28/10/2016 no evento virtual QANinjaConference
Apresentar, de forma ditática e no formato totalmente live code, como dividir a automação na sua pipeline com um smoke test seguido dos testes funcionais/aceitação criando estas duas chamadas no Jenkins.
Serão apresentadas duas ferramentas diferentes: CasperJs (Javascript) para o smoke test e Selenium WebDriver (Java) para testes funcionais/aceitação
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/
Palestra sobre problemas, anti-patters e sugestão de uma pipeline de testes automatizados para adicionar ao seu processo de Continuous Delivery.
Ministrado no dia 05/10/2016 no The Developers Conference 2016 Porto Alegre e no DevOps Day Porto Alegre em 05/08/2017.
Nessa apresentação abordamos a importância da automação de testes nos projetos de software, as melhores práticas de automação, as fases de testes e adicionamos exercícios 'mão na massa' no Selenium.
Selenium é uma ferramenta de automação de testes funcionais criada originalmente pela ThoughtWorks, e é hoje, uma das ferramentas de automação mais utilizadas no mundo.
Entrega contínua com arquitetura distribuidaLeonardo Kobus
Conteúdo apresentado em um TechTalk Interno na hbsis mostrando como é feito o deploy de um projeto escrito em .NET utilizando WebService Rest feito em Nancy e Serviços do window, para uma solução de Vendas onde possui 8 máquinas em uma infraestrutura e 6 em uma infraestrutura diferente, ambas infra com deploy automatizado da solução inteira.
TDCPOA2018 - Trilha Python - Testes de Performance com LocustMayara Fernandes
Palestra apresentada no The Developer's Conference de Porto Alegre 2018. Trilha Python.
Sua API aguenta pressão? E agora? Descubra os pontos fracos da sua APi e a torne poderosa para as batalhas em produção! Vamos apresenta o Locust, uma ferramenta para testes de performance que trás a simplicidade e o poder do Python para bombardear a sua API com testes de performance, carga e estresse.
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.
Apenas um script de teste para iOS e AndroidElias Nogueira
Palestra que apresenta como criar apenas um script de automação de teste para iOS e Android, usando Java como linguagem e Appium como ferramenta.
Esta palestra foi ministrada na Trilha Mobile do The Developers Conference Florianópolis e 2017 em 06/05/2017 e no The Developers Conference São Paulo 2017 em 20/07/2017.
Automatização de Infraestrutura com JenkinsFelipe Santos
Automatização de Infraestrutura com Jenkins. Esqueça o Crontab e veja todas as possibilidades de integração e customização do Jenkins para seus projetos de infraestrutura. Útil para qualquer tarefa que possa ser realizada com um shell script ou um batch Windows.
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
Feedback mais rápido na sua build dividindo os testes funcionaisElias Nogueira
Apresentação em 28/10/2016 no evento virtual QANinjaConference
Apresentar, de forma ditática e no formato totalmente live code, como dividir a automação na sua pipeline com um smoke test seguido dos testes funcionais/aceitação criando estas duas chamadas no Jenkins.
Serão apresentadas duas ferramentas diferentes: CasperJs (Javascript) para o smoke test e Selenium WebDriver (Java) para testes funcionais/aceitação
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/
Palestra sobre problemas, anti-patters e sugestão de uma pipeline de testes automatizados para adicionar ao seu processo de Continuous Delivery.
Ministrado no dia 05/10/2016 no The Developers Conference 2016 Porto Alegre e no DevOps Day Porto Alegre em 05/08/2017.
Nessa apresentação abordamos a importância da automação de testes nos projetos de software, as melhores práticas de automação, as fases de testes e adicionamos exercícios 'mão na massa' no Selenium.
Selenium é uma ferramenta de automação de testes funcionais criada originalmente pela ThoughtWorks, e é hoje, uma das ferramentas de automação mais utilizadas no mundo.
Entrega contínua com arquitetura distribuidaLeonardo Kobus
Conteúdo apresentado em um TechTalk Interno na hbsis mostrando como é feito o deploy de um projeto escrito em .NET utilizando WebService Rest feito em Nancy e Serviços do window, para uma solução de Vendas onde possui 8 máquinas em uma infraestrutura e 6 em uma infraestrutura diferente, ambas infra com deploy automatizado da solução inteira.
TDCPOA2018 - Trilha Python - Testes de Performance com LocustMayara Fernandes
Palestra apresentada no The Developer's Conference de Porto Alegre 2018. Trilha Python.
Sua API aguenta pressão? E agora? Descubra os pontos fracos da sua APi e a torne poderosa para as batalhas em produção! Vamos apresenta o Locust, uma ferramenta para testes de performance que trás a simplicidade e o poder do Python para bombardear a sua API com testes de performance, carga e estresse.
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.
Apenas um script de teste para iOS e AndroidElias Nogueira
Palestra que apresenta como criar apenas um script de automação de teste para iOS e Android, usando Java como linguagem e Appium como ferramenta.
Esta palestra foi ministrada na Trilha Mobile do The Developers Conference Florianópolis e 2017 em 06/05/2017 e no The Developers Conference São Paulo 2017 em 20/07/2017.
Automatização de Infraestrutura com JenkinsFelipe Santos
Automatização de Infraestrutura com Jenkins. Esqueça o Crontab e veja todas as possibilidades de integração e customização do Jenkins para seus projetos de infraestrutura. Útil para qualquer tarefa que possa ser realizada com um shell script ou um batch Windows.
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
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...Renato Groffe
Slides de apresentação sobre o build, testes e deployment automatizados de aplicações Web utilizando GitHub Actions, Selenium WebDriver, Slack, .NET, ASP.NET Core, Docker e Azure App Service. Palestra realizada em 18/02/2021 em evento promovido pelo GitHub.
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontatdc-globalcode
Nessa palestra mostrarei como criar uma estrutura de testes automatizados para a sua aplicação ASP.NET MVC cobrindo os principais aspectos do seu sistema.
Palestra ministrada no The Developers Conference 2016 Porto Alegre dia 07/10/2016 que mostra algumas dicas de como automatizar testes para uma app híbrida, também apresentando um exemplo funcional de testes automatizados usando Java e JavaScript com a API Appium
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.
1. ISCTE – INSTITUTO UNIVERSITÁRIO DE LISBOA
MESTRADO EM SOFTWARE DE CÓDIGO ABERTO
INTRODUÇÃO AO SOFTWARE DE CÓDIGO ABERTO
SELENIUM - Ferramenta de engenharia de software aplicado ao Software Open Source
2. INTRODUÇÃO AO SOFTWARE DE CÓDIGO ABERTO
SELENIUM - Ferramenta de engenharia de software aplicado ao Software Open Source
Estudante: Emanuel Agostinho Sebastião Mateus
Nº 80383
Professor: Carlos Costa, PhD
3. SELENIUM - Ferramenta de engenharia de software aplicado ao Software Open Source
• Ferramenta
• Fase no Processo de desenvolvimento
• Tipo de Suporte
• Exemplificação
• Instalação
• Utilização
• Análise SWOT
4. SELENIUM - Ferramenta de engenharia de software aplicado ao Software Open Source
FERRAMENTA
5. SELENIUM
O Selenium é uma framework para automatização de testes de aplicações web.
Ela suporta diversos navegadores (web browser), diferentes sistemas operativos e
diferentes linguagens de programação. Esta ferramenta open source foi
inicialmente desenvolvida em java, no entanto atualmente podemos encontrar
várias versões da mesma desenvolvida em várias linguagens de programação.
A versão Java do selenium encontra-se na versão 3.5.0 e é distribuída sob a
licença Apache 2.0, o seu repositório está em github.com/SeleniumHQ e a
pagina oficial da mesma pode ser acessada em seleniumhq.org.
Esta ferramenta de automação de testes possui quatro componentes: Selenium
IDE, Selenium client API, Selenium WebDriver (Selenium Remote Control) e
Selenium Grid.
6. Selenium IDE
É distribuído sob forma de plugin para o Firefox (Firefox Add-On). Ela
permite previamente gravar um conjunto de testes nas páginas web que
posteriormente podem ser editados e executados.
O Selenium IDE tem neste momento problemas de compatibilidades de
com as novas versões do Firefox 55, pelo que o seu uso deixou de ser
recomendável.
7. Selenium client API
Disponibiliza o antigo interface que dá a liberdade dos programadores se
comunicarem com o selenium usando outras linguagem de programação para
escreverem os testes de software. Apesar de existir uma nova versão da API
associada a componente Webdriver, este antigo componente ainda funciona.
8. Selenium WebDriver
É o sucessor do Selenium Remote Control que nada mais era do que um
pequeno servidor que, automaticamente permite abrir e fechar um navegador,
agindo como um proxy HTTP que aceitava as requisições web vinda dos scripts
do Selenium.
Webdriver é uma API melhorada do Selenium que não precisa de um servidor
especial para executar testes. Na prática usa-se uma linguagem de programação
para invocar a API, no script definimos o objeto webdriver que é associado a um
interpretador de um navegador web, a seguir definimos os testes que devem ser
executados.
9. Selenium Grid
O Selenium Grid permite executar testes em paralelo em várias máquinas e em
diferentes versões do navegador web. Ela permite a gestão centralizada testes
individuais.
Na prática o Selenium Grid é um servidor que permite efectuar testes que
correm em diferentes navegador web que estão em execução diferentes
máquinas remotas. Com Selenium Grid, um servidor atua como um hub. Os
testes contatam o hub para obter acesso às instâncias do navegador permitindo
deste modo testes remotos distribuídos e ou paralelos.
10. SELENIUM - Ferramenta de engenharia de software aplicado ao Software Open Source
FASE NO PROCESSO DE DESENVOLVIMENTO
11. FASE NO PROCESSO DE DESENVOLVIMENTO
O webDriver permite recorrer a API do selenium para efectuar testes automatizados. Ela
pode ser usada durante o processo de desenvolvimento ou na fase da avaliação da
qualidade do sistema.
Durante o processo de desenvolvimento de software geralmente é necessário efectuar
testes repetitivos sobre uma determinada funcionalidade em particular ou sobre o
sistema como um todo.
Tarefas simples como preencher um formulário, validar os campos, calcular determinados
valores e submetê-lo, ou tarefas mais complexas que envolvem testes de desempenho,
carga e stress, são tarefas propensas a erro e às vezes impossíveis quando executadas
por seres humanos.
É nesta fase do processo de desenvolvimento do software em que se deve recorrer a
ferramentas como o selenium para automatizar tais testes.
12. SELENIUM - Ferramenta de engenharia de software aplicado ao Software Open Source
TIPO DE SUPORTE
13. TIPO DE SUPORTE
Esta ferramenta apoia o desenvolvedor e testadores de software no
planeamento e execução de tarefas que podem ser automatizadas.
Desta forma os desenvolvedores conseguem evitar bugs que poderiam
comprometer a qualidade do software.
14. SELENIUM - Ferramenta de engenharia de software aplicado ao Software Open Source
EXEMPLIFICAÇÃO
16. EXEMPLIFICAÇÃO
Sem testes automatizados:
Implica ter previamente uma lista atualizada com todos os links existentes na
aplicação.
Percorrer toda lista dos links e ir verificando manualmente na aplicação se todos
os links da lista estão a funcionar ou estão quebrados.
Gerar um relatório manual sobre o processo de verificação.
Neste cenário, desperdiça-se tempo e recursos humanos. Aumenta a probabilidade
de erro humano, e a cada atualização de páginas ou de funcionalidades
gastávamos novamente tempo e recursos.
17. EXEMPLIFICAÇÃO
Com testes automatizados:
Com o Selenium, bastava criar os testes automatizados uma vez e estes
estavam aptos para serem executados recursiva e indeterminadamente, com
maior rapidez e com capacidade para gerar um relatório automático que
poderiam ser enviado automaticamente por email a um grupo.
18. SELENIUM - Ferramenta de engenharia de software aplicado ao Software Open Source
INSTALAÇÃO
19. INSTALAÇÃO
O processo de instalação do Selenium Webdriver na versão Java é extremamente
simples, e pode ser executado em três passos:
Instalação do Selenium Standalone Server que se encontra disponivel website
www.seleniumhq.org/download.
Instalação do Marionette Driver (driver de automação do motor Gekco)
https://github.com/mozilla/geckodriver/releases
Incluir e associar Selenium Standalone Server ao IDE ou ao programa java.
O único pré-requisito é possuir o Java Development Kit (JDK) instalado na computador
onde será desenvolvido a aplicação de testes. O meso pode ser obtido em
www.oracle.com/technetwork/java/javase/downloads/index.html.
24. SELENIUM - Ferramenta de engenharia de software aplicado ao Software Open Source
UTILIZAÇÃO
25. UTILIZAÇÃO
O Selenium Webdriver é invocado em modo de programação. O seguinte
código fonte permite abrir automaticamente o navegador web, ir página
principal do website, clicar nos links definidos e efectuar o login com sucesso,
após uns segundos fecha o navegador web.
27. SELENIUM - Ferramenta de engenharia de software aplicado ao Software Open Source
ANÁLISE SWOT
28. ANÁLISE SWOT
PONTOS FORTES PONTOS FRACOS
o Maturidade da Ferramenta. (existe a
mais de 10 anos)
o Possui uma grande comunidade de
utilizadores.
o Foi e ou ainda é utilizado na Google.
o Permite reduzir custos com licenças.
o Compatibilidade com vários sistemas
operativos, vários navegadores e
linguagens de programação
o Curva de aprendizagem fácil.
o Apenas funciona para testar aplicações web.
o Está dependente de algumas bibliotecas de
terceiros.
o Alguns componentes se tornaram obsolete por
causa da compatibilidade com certos
navegadores. (Selenium IDE)
OPORTUNIDADES AMEAÇAS
o Não está limitada ao teste de
qualidade.
o Utilização da ferramenta para outros
fins.
o A concorrência pode obter o mesmo software e
melhorar as suas funcionalidades.
o O uso errado da ferramenta pode afetar a
produtividade das equipas.