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
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
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.
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)
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
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 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 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.
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.
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:
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
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 |
|
Selenium RC |
|
webdriver |
|
Selenium Grade |
|
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.