O que é o Selenium? Tutorial de introdução

O que é o Selenium?

Selenium é uma estrutura de teste automatizado gratuita (de código aberto) usada para validar aplicativos da web em diferentes navegadores e plataformas. Você pode usar várias linguagens de programação como Java, C#, Python, etc para criar Selenium Scripts de teste. Teste feito usando o Selenium ferramenta de teste é geralmente chamada de Selenium Ensaios.

Selenium Conjunto de ferramentas

Selenium Software não é apenas uma ferramenta, mas um conjunto de software, cada peça atendendo a diferentes necessidades. Selenium Necessidades de teste de controle de qualidade de uma organização. Aqui está a lista de ferramentas

  • Selenium Ambiente de Desenvolvimento Integrado (IDE)
  • Selenium Controle Remoto (RC)
  • webdriver
  • Selenium Grade

Selenium Conjunto de ferramentas

No momento, Selenium RC e WebDriver são mesclados em uma única estrutura para formar Selenium 2. Selenium 1, aliás, refere-se a Selenium RC.

Video Tutorial Selenium

Clique aqui se o vídeo não estiver acessível

Quem desenvolveu Selenium?

Como Selenium é uma coleção de ferramentas diferentes, mas também teve desenvolvedores diferentes. Abaixo estão as principais pessoas que fizeram contribuições notáveis ​​para o Selenium PROJETO

Desenvolvido Selenium

Principalmente, Selenium foi criado por Jason Huggins em 2004. Engenheiro da ThoughtWorks, ele estava trabalhando em uma aplicação web que exigia testes frequentes. Tendo percebido que os repetitivos testes manuais de suas aplicações estavam se tornando cada vez mais ineficientes, ele criou um JavaScript programa que controlaria automaticamente as ações do navegador. Ele chamou este programa de “JavaScriptTestRunner. "

Vendo potencial nesta ideia para ajudar a automatizar outras aplicações web, ele fez JavaScriptRunner de código aberto, que mais tarde foi renomeado Selenium núcleo. Para aqueles interessados ​​em explorar outras opções para testes de aplicações web, dê uma olhada nestes Selenium alternativas.

O problema da mesma política de origem

A política de Mesma Origem proíbe JavaCódigo de script acessando elementos de um domínio diferente daquele onde foi iniciado. Por exemplo, o código HTML em www.google.com usa um JavaPrograma de script “randomScript.js”. A mesma política de origem permitirá apenas que randomScript.js acesse páginas dentro do google.com, como google.com/mail, google.com/login ou google.com/signup. No entanto, ele não pode acessar páginas de sites diferentes, como yahoo.com/search ou guru99.com, porque eles pertencem a domínios diferentes.

O problema da mesma política de origem

Esta é a razão pela qual antes de Selenium RC, os testadores precisavam instalar cópias locais de ambos Selenium Núcleo (um JavaPrograma de script) e o servidor web que contém o aplicativo web que está sendo testado para que eles pertençam ao mesmo domínio

Nascimento de Selenium Controle remoto (Selenium RC)

Paulo Hammant

Infelizmente; testadores usando Selenium A Core teve que instalar toda a aplicação em teste e o servidor web em seus próprios computadores locais devido às restrições impostas pelo mesma política de origem. Então, outro engenheiro da ThoughtWork, Paulo Hammant, decidiu criar um servidor que atuará como um proxy HTTP para “enganar” o navegador fazendo-o acreditar que Selenium O Core e o aplicativo da web que está sendo testado vêm do mesmo domínio. Este sistema ficou conhecido como Selenium Controle remoto or Selenium 1.

Nascimento de Selenium Grade

Patrick Lightbody

Selenium A grade foi desenvolvida por Patrick Lightbody para atender à necessidade de minimizar ao máximo os tempos de execução de testes. Ele inicialmente chamou o sistema de “Controle de qualidade hospedado.” Foi capaz de capturar screenshots do navegador durante etapas significativas, e também de enviando Selenium comandos para diferentes máquinas simultaneamente.

Nascimento de Selenium IDE

Shinya Kasatani

Shinya Kasatani do Japão criou Selenium IDE, um Firefox e extensão do Chrome que pode automatizar o navegador por meio de um recurso de gravação e reprodução. Ele teve essa ideia para aumentar ainda mais a velocidade na criação de casos de teste. Ele doou Selenium IDE para o Selenium Projeto em 2006.

Nascimento do WebDriver

Simon Stewart

Simon Stewart criou o WebDriver por volta 2006 quando navegadores e aplicativos da web estavam se tornando mais poderosos e mais restritivos com JavaProgramas de script como Selenium Testemunho. Foi a primeira estrutura de teste multiplataforma que poderia controlar o navegador no nível do sistema operacional.

Nascimento de Selenium 2

In 2008, o todo Selenium A equipe decidiu fundir o WebDriver e Selenium RC para formar uma ferramenta mais poderosa chamada Selenium 2, com WebDriver sendo o núcleo. Atualmente, Selenium O RC ainda está em desenvolvimento, mas apenas em modo de manutenção. A maioria dos Selenium Os esforços do projeto estão agora focados em Selenium 2.

Então, por que o nome Selenium?

O nome Selenium veio de uma piada que Jason contou uma vez para sua equipe. Durante Seleniumdesenvolvimento, outro teste automatizado framework era popular feito pela empresa chamada Mercury interativo (sim, a empresa que originalmente fez o QTP antes de ser adquirida pela HP). Desde Selenium é um antídoto conhecido para Mercury envenenamento, Jason sugeriu esse nome e seus companheiros o adotaram. Então foi assim que chamamos esse quadro até o presente.

Por que o nome Selenium

O que é o Selenium IDE?

Selenium Ambiente de Desenvolvimento Integrado (IDE) é o estrutura mais simples no Selenium suíte e é o mais fácil de aprender. É um Chrome e Firefox plug-in que você pode instalar tão facilmente quanto com outros plug-ins. Contudo, devido à sua simplicidade, Selenium IDE só deve ser usado como um ferramenta de prototipagem. Se quiser criar casos de teste mais avançados, você precisará usar Selenium RC ou WebDriver.

Selenium IDE

O que é o Selenium Controle remoto (Selenium RC)?

Selenium RC foi o estrutura de teste principal do todo Selenium projeto há muito tempo. Este é o primeiro automatizado teste da web ferramenta que permite que os usuários usem uma linguagem de programação de sua preferência. A partir da versão 2.25.0, o RC pode suportar as seguintes linguagens de programação:

Selenium Controle remoto (Selenium RC)

O que é WebDriver?

O WebDriver prova ser melhor que Selenium IDE e Selenium RC em muitos aspectos. Implementa uma abordagem mais moderna e estável na automatização das ações do navegador. WebDriver, ao contrário Selenium RC, não depende de JavaRoteiro para Selenium Teste de automação. Ele controla o navegador comunicando-se diretamente com ele.

Os idiomas suportados são os mesmos do Selenium RC.

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Ruby

Driver da Web

O que é o Selenium Grade?

Selenium A grade é uma ferramenta usado junto com Selenium RC para correr testes paralelos em diferentes máquinas e diferentes navegadores, tudo ao mesmo tempo. Execução paralela significa executar vários testes ao mesmo tempo.

Características:

  • Habilita execução simultânea de testes in vários navegadores e ambientes.
  • Poupa tempo enormemente.
  • Utiliza o hub e nós conceito. O hub atua como uma fonte central de Selenium comandos para cada nó conectado a ele.

Selenium Suporte a navegador e ambiente

Devido às suas diferenças arquitetônicas, Selenium SDI, Selenium RC e WebDriver suportam diferentes conjuntos de navegadores e ambientes operacionais.

  Selenium IDE webdriver
Suporte do navegador Mozilla Firefox e Chrome

Google Chrome 12+

Firefox

Internet Explorer 7+ e Edge

Safári, 

HtmlUnit e PhantomUnit

Sistema Operacional Windows, Mac OS X, Linux Todos os sistemas operacionais onde os navegadores acima podem ser executados.

Nota: Opera Driver não funciona mais

Como escolher o certo Selenium Ferramenta para sua necessidade

ferramenta Por que escolher?
Selenium IDE
  • Para aprender sobre conceitos de testes automatizados e Selenium, incluindo:
  • Comandos Selenese como type, open, clickAndWait, assert, verify, etc.
  • Localizadores como id, nome, xpath, seletor css, etc.
  • Execução customizada JavaCódigo de script usando runScript
  • Exportação de casos de teste em vários formatos.
  • Criar testes com pouco ou nenhum conhecimento prévio em programação.
  • Para criar casos de teste simples e suítes de testes que você pode exportar posteriormente para RC ou WebDriver.
  • Para testar um aplicativo da web em relação a Firefox e apenas Chrome.
Selenium RC
  • Para elaborar um teste usando uma linguagem mais expressiva que o Selenese
  • Para executar seu teste em diferentes navegadores (exceto HtmlUnit) em diferentes sistemas operacionais.
  • Para implantar seus testes em vários ambientes usando Selenium Rede.
  • Para testar seu aplicativo em um novo navegador compatível JavaRoteiro.
  • Para testar aplicações web com cenários complexos baseados em AJAX.
webdriver
  • Usar uma determinada linguagem de programação ao projetar seu caso de teste.
  • Para testar aplicativos ricos em funcionalidades baseadas em AJAX.
  • Para executar testes no navegador HtmlUnit.
  • Para criar resultados de testes personalizados.
Selenium Grade
  • Para executar seu Selenium Scripts RC em vários navegadores e sistemas operacionais simultaneamente.
  • Para executar um enorme conjunto de testes, isso precisa ser concluído o mais rápido possível.

Uma comparação entre Selenium e QTP (agora UFT)

Profissional de teste rápido (QTP) é uma ferramenta proprietária de testes automatizados que anteriormente pertencia à empresa Mercury interativo antes da Hewlett-Packard adquiri-lo em 2006. Seu proprietário posterior é a MicroFocus e a ferramenta é renomeada para UFT one. O Selenium Tool Suite tem muitas vantagens sobre  QTP Conforme detalhado abaixo -

Vantagens e benefícios de Selenium sobre QTP

Selenium QTP
Código aberto, podem ser utilizados gratuitamente. e grátis. Comercial.
Altamente extensível Complementos limitados
Pode executar testes em navegadores diferentes Só é possível executar testes em Firefox, Internet Explorer e Chrome
suportes vários sistemas operacionais Só pode ser usado em Windows
suportes dispositivos móveis QTP oferece suporte à automação de testes de aplicativos móveis (iOS e Android) usando a solução HP chamada – HP Mobile Center
Pode executar testes enquanto da navegador está minimizado Precisa ter o aplicativo em teste para ficar visível na área de trabalho
Pode executar testes em paralelo. Só pode ser executado em paralelo, mas usando o Quality Center, que é novamente um produto pago.

Vantagens do QTP sobre Selenium

QTP Selenium
Pode testar aplicativos da web e de desktop Só pode testar aplicativos da web
Vem com um repositório de objetos integrado Não possui repositório de objetos integrado
Automatiza mais rápido do que Selenium porque é um IDE completo. Automatiza em um ritmo mais lento porque não possui um IDE nativo e apenas IDE de terceiros pode ser usado para desenvolvimento.
O teste baseado em dados é mais fácil de executar porque possui tabelas de dados globais e locais integradas. O teste orientado a dados é mais complicado, pois você precisa confiar nos recursos da linguagem de programação para definir valores para seus dados de teste.
Pode acessar controles dentro do navegador(como a barra de Favoritos, a barra de endereços, os botões Voltar e Avançar, etc.) Não é possível acessar elementos fora do aplicativo Web em teste
Fornece profissional suporte ao cliente Nenhum suporte oficial ao usuário está sendo oferecido.
Possui capacidade nativa para exportar dados de teste em formatos externos Não possui capacidade nativa para exportar dados de tempo de execução para formatos externos
O suporte à parametrização é construído A parametrização pode ser feita via programação, mas é difícil de implementar.
Os relatórios de teste são gerados automaticamente Não há suporte nativo para gerar relatórios de testes/bugs.

Embora claramente o QTP tenha recursos mais avançados Selenium supera o QTP em três áreas principais:

  • Custo(Porque Selenium é totalmente gratuito)
  • Flexibilidade(devido a uma série de linguagens de programação, navegadores e plataformas que pode suportar)
  • Teste paralelo(algo que o QTP é capaz, mas apenas com o uso do Quality Center)

Resumo

  • A totalidade Selenium O Software Testing Suite é composto por quatro componentes:
  • Selenium Ideia Firefox e complemento do Chrome que você só pode usar na criação de casos de teste e suítes de testes relativamente simples.
  • Selenium Controle Remoto, também conhecido como Selenium 1, é o primeiro Selenium ferramenta que permitia aos usuários utilizar linguagens de programação na criação de testes complexos.
  • WebDriver é a inovação mais recente que permite que seus scripts de teste se comuniquem diretamente com o navegador, controlando-o assim no nível do sistema operacional.
  • Selenium Grid também é uma ferramenta usada com Selenium RC para executar testes paralelos em diferentes navegadores e sistemas operacionais.
  • Selenium RC e WebDriver foram fundidos para formar Selenium 2.
  • Selenium é mais vantajoso que o Microfocus UFT One em termos de custos e flexibilidade.