O teste de desempenho é um tipo de teste não funcional que mede como aplicativos web, páginas da Web ou frameworks respondem quando testados contra vários níveis de carga para ver como eles agem e respondem quando sob carga por determinados períodos de tempo. Neste artigo vamos nos propus a explicar como usar o Selênio e sua família de ferramentas, para realizar testes de desempenho. Embora não seja recomendável usar apenas Selenium e WebDriver para realizar testes de carga, este artigo explicará o processo de criação de um teste de carga com o Selenium, bem como cobrirá as vantagens de uma solução como o LoadView.

 

O que é o WebDriver de Selênio?

O Selenium WebDriver é utilizado para automatizar testes de aplicativos web para verificar se ele preenche o formulário fiel. Ele suporta inúmeros navegadores, por exemplo, Firefox, Chrome, Internet Explorer e Safari. De qualquer forma, utilizando o WebDriver, podemos automatizar testes para aplicações web por assim que fossem. Ele não se encaixa na conta para aplicativos baseados no Windows. Ele também reforça diversos dialetos de programação, por exemplo, C#, Java, Perl, PHP e Ruby para compor conteúdos de teste. O Selenium WebDriver é gratuito em estágio, uma vez que um código semelhante pode ser utilizado em vários sistemas operacionais como Windows, iOS, Linux e Ubuntu. É um dos segmentos da família Selenium, que incorpora adicionalmente Selenium IDE, API cliente selenium, Controle Remoto de Selênio e Grade de Selênio.

O Selenium WebDriver não lida com o Windows, mas essa restrição pode ser sobrecarregada utilizando instrumentos de terceiros, por exemplo, AutoIT, Sikuli e outros. Possui diversos procedimentos de área também, por exemplo, ID, Nome, Texto de Link, Texto de Conexão Parcial, Nome da Classe, Seletor CSS e Xpath. Ele também tem melhor suporte para páginas dinâmicas como a AJAX, onde os componentes da página podem mudar sem que a própria página seja recarregada. Utilizando diversos documentos de contêineres, podemos também testar APIs, bancos de dados e assim utilizar o Selenium WebDriver.

 

Arquitetura webdriver de selênio

A API do Selenium WebDriver oferece facilidade de correspondência entre idiomas e navegadores. A imagem que acompanha mostra o retrato composicional do WebDriver de Selênio.

Existem quatro partes fundamentais da Arquitetura WebDriver:

  • Amarras da linguagem de selênio
  • Protocolo de Fio JSON
  • Drivers do programa
  • Navegadores Genuínos

Arquitetura selênio

 

Amarras da linguagem de selênio

Testadores de carga de selênio fizeram ligações de idiomas/Bibliotecas de Clientes de Selênio para ajudar inúmeros dialetos. Por exemplo, na chance de que você precisa utilizar o driver de programa em Java, utilize a compilação Java. Todas as vinculações de idiomas confirmadas podem ser baixadas no site oficial do Selenium. A quantidade de clientes de Selênio desenvolveu-se fundamentalmente após algum tempo. Inúmeros clientes implicam inúmeras pilhas de melhorias a serem mantidas, e a documentação de rede para utilizar o Selenium com vários dialetos, utilizando a API do WebDriver como a principal utilidade a ser compartilhada por meio de vinculação.

 

Protocolo de Fio JSON

JSON (JavaScript Object Notation) é uma norma aberta para negociação de informações na web. Sustenta estruturas de informação como artigo e exposição. Desta forma, é tudo menos difícil de compor e peruse informações da JSON. O JSON Wire Protocol dá a um componente do veículo para mover informações entre um cliente e um servidor. JSON Wire Protocol preenche como um padrão da indústria para diferentes administrações web REST.

 

Drivers do programa

O Selênio utiliza motoristas, explícitos a todos os programas, de modo a construir uma associação protegida com o programa sem descobrir a lógica interior da utilidade do programa. O driver do programa também é explícito para a linguagem utilizada para automação, por exemplo, Java, C#, e assim por diante. No momento em que executamos um conteúdo de teste utilizando o WebDriver, as atividades de acompanhamento são realizadas no interior.

  • A demanda HTTP é criada e enviada ao driver do programa para cada pedido de Selenium.
  • O motorista recebe a demanda HTTP através do trabalhador HTTP.
  • O SERVIDOR HTTP escolhe todos os meios para executar diretrizes que são executadas no programa.
  • O status de execução é enviado de volta ao SERVIDOR HTTP, que é, portanto, enviado de volta para conteúdo automatizado.

 

Os navegadores suportados pelo Selenium WebDriver incluem o seguinte:

  • Internet Explorer
  • Mozilla Firefox
  • Google Chrome
  • safári

 

Características do WebDriver de Selênio

 

Suporte diferente ao navegador

O Selenium WebDriver mantém um escopo de vários navegadores de internet, por exemplo, Firefox, Chrome, Internet Explorer, Opera e mais alguns. Da mesma forma, sustenta uma parte dos programas não regulares ou incomuns, como o HTMLUnit. HTMLUnit é um navegador sem cabeça ou um navegador que não usa uma GUI (Graphical User Interface). Muitas soluções de teste de carga de código aberto usam navegadores sem cabeça, pois os testadores de desempenho podem iniciar muito tráfego baseado em HTTP ou protocolo. O problema, no entanto, com navegadores sem cabeça é que eles não podem testar scripts do lado do cliente, de modo que o desempenho real da perspectiva do usuário é perdido.

Testes baseados em protocolos versus testes baseados em navegador real

Os testes baseados em protocolos foram muito populares durante os primeiros anos da Internet. No entanto, com o tempo, as estruturas de aplicativos da Web e os navegadores evoluíram, e agora aqueles métodos de teste de carga outrora populares tornaram-se cada vez mais desatualizados. Embora os testes HTTP ainda sejam usados hoje em dia, isso dificulta o teste de carga à medida que os sites se tornam mais complexos.

Os aplicativos web modernos dependem do comportamento e das ações do lado do cliente, em vez do servidor para navegação, pesquisas, etc. Por exemplo, os SPAs (Single-Page Applications, aplicativos de página única) dependem de pouco envolvimento do servidor assim que a página é carregada. Pode haver algum conteúdo dinamicamente carregado do lado do servidor, mas do ponto de vista do usuário, isso fornece a eles uma experiência mais perfeita sem ter que carregar continuamente novas páginas.

 

Suporte a várias línguas

O WebDriver também reforça uma grande parte dos dialetos de programação geralmente utilizados como Java, C#, JavaScript, PHP, Ruby, Pearl e Python. Posteriormente, o cliente pode escolher qualquer uma das linguagens de programação mantidas dependente de sua competência e começar a construir o conteúdo do teste.

 

velocidade

O WebDriver funciona mais rápido quando contrastado com diferentes aparelhos do Selenium Suite. ele não precisa de qualquer meio do trabalhador rodoviário para falar com o programa; em vez disso, o dispositivo fala diretamente com o programa.

 

Comandos Básicos

A maioria das ordens utilizadas no Selenium WebDriver são tudo menos difíceis de fazer. Por exemplo, para despachar um programa no WebDriver, são utilizadas ordens seguintes:

  • Driver WebDriver = novo FirefoxDriver(); (Programa Firefox)
  • Driver WebDriver = novo ChromeDriver(); (Programa Chrome)
  • Driver WebDriver = novo InternetExplorerDriver(); (Programa Internet Explorer)

 

Métodos e Classes do WebDriver

O WebDriver fornece respostas diferentes para se adaptar a algumas das possíveis dificuldades em testes de automação. O WebDriver também permite que os analisadores gerenciem todos os tipos de componentes web complexos, por exemplo, caixas de verificação, drop-downs e advertências.

 

Teste de carga usando selênio

Existem alguns passos quando se trata de testes de carga usando o Selenium WebDriver.

 

Crie uma configuração do navegador

Faça um Thread Group e inclua “Chrome Driver Config” no menu Config Elements.

Grupo de segmentos de selênio

 

Nesse ponto, você tem que dar o ChromeDriver baixado como uma maneira de o seu Elemento Config.

Rio ChromeDriver de selênio

 

Implemente seu teste

Inclua o WebDriver Sampler no Thread Group. Isso trará um conteúdo fundamental, que abre uma página do site. Temos que controlar esse conteúdo. Para cooperar com o programa, você tem que utilizar técnicas explícitas de Selênio, como sendKeys, click(), e assim por diante. Aqui estão algumas dicas:

 

Procurar comando aberto

Este comando abre a URL dada

WDS.browser.get

 

Para fazer alguma atividade explícita de interface do usuário, você tem que importar o pacote org.openqa.selenium para o seu conteúdo. Basta adicionar esta linha ao seu conteúdo.

JavaImporter

 

 

Comando SendKeys

No caso de você conhecer o Selenium, você percebe que pode chegar ao componente por cssSelector, ID, XPath e assim por diante a variável pkg que fizemos, o que incentiva você a descobrir o componente web. É assim que você descobre um componente. Você armazena o webElement em uma variável chamada searchField.

Comando SendKeys

 

 

Nesse ponto, você simplesmente utiliza o trabalho padrão de Selenium SendKeys para pensar em algum conteúdo.

searchField

 

 

Clique em Comando

Selênio tem uma ordem de snap subjacente. Você simplesmente utiliza uma capacidade semelhante após ganhar o webElement. Para começar, armazenamos o componente e reproduzimos a atividade de snap.

Clique em Comando

 

 

 

 

Comandos adicionais

Além dessas ordens essenciais, devemos utilizar algumas ordens explicitamente destinadas ao Selenium, para que o Selenium tenha a opção de pegar o tempo inicial e final do sampler. Essas duas técnicas enviarão ao Selênio os sinais de início e fim para fins reveladores.

Beginning_End de selênio

 

Comando log

Você deve fazer algum registro durante o seu teste. Nesse ponto você simplesmente utiliza a ordem inferior. O usuário também pode ver os resultados do teste de carga.

Comando log

 

 

Tipos de Pedidos

Existem dois tipos de solicitações com as que você pode se sentir confortável, GET e POST.

Selênio RECEBER Solicitação

 

 

 

 

 

Na chance de ser um pedido GET, nesse ponto ele traz uma reação que será criada no final do programa e será enviado por HTTP para o driver do programa e, a longo prazo, o driver do programa com o auxílio da convenção de fio JSON envia-o para a INTERFACE DO USUÁRIO (Eclipse IDE).

 

Vantagens do WebDriver de Selênio

  • É um dos programas de código aberto mais populares e é tudo menos difícil de começar para testar aplicativos on-line. Além disso, permite que você realize testes de similaridade de programas cruzados.
  • Suporta várias estruturas de trabalho como Windows, Mac, Linux, Unix e assim por diante.
  • Ele dá semelhança a um escopo de dialetos incluindo Python, Java, Perl, Ruby, e assim por diante.
  • Oferece ajuda para programas atuais como Chrome, Firefox, Opera, Safari e Internet Explorer.
  • O Selenium WebDriver termina a execução de conteúdos de teste mais rápido quando contrastado com diferentes instrumentos
  • API mais concisa (Interface de Programação de Aplicativos) nesse ponto Selenium RC’s
  • Além disso, dá semelhança iPhone Driver, Html Unit Driver e Android Driver

 

Dificuldades com Selênio

As dificuldades com o Selênio incluem o seguinte:

  • Suporta apenas testar aplicativos web
  • Ele não aceita o exame Bitmap
  • Para que qualquer habilidade relacionada a detalhes seja hospedada em ferramentas de terceiros.
  • Nenhum suporte de fornecedor para aparelhos contrastado com dispositivos de negócios como HP UFT
  • Como não há ORC (Optical Character Recognition), a praticidade dos itens torna-se problemática

 

LoadView: Teste de carga e estresse em navegadores reais

O LoadView permite aos desenvolvedores e testadores a capacidade de criar rapidamente testes de carga e estresse para uma infinidade de itens, como aplicativos web, páginas da Web, APIs, mídia de streaming, etc. Todos os recursos são gerenciados para você. As soluções são completamente baseadas na Web e não há necessidade de hardware ou software adicionais, pois os servidores injetores de carga são todos gerenciados para você.

Para aplicativos web, os usuários podem utilizar o EveryStep Web Recorder e apontar e clicar em seu caminho através do aplicativo da mesma maneira que um usuário ou cliente faria. Esses scripts são então carregados na plataforma LoadView onde, com apenas mais alguns cliques, podem criar seu cenário de teste de carga e executar seu teste. Não perca tempo roteirizando manualmente cenários para seus aplicativos web. Saiba mais sobre os recursos do LoadView.

 

Vantagens do LoadView

Estas são apenas algumas das grandes vantagens do LoadView:

  • Simples de usar. Ele tem uma interface de usuário fácil de entender
  • Inclui o EveryStep Web Recorder para gravação fácil e rápida de script
  • Integra-se com ferramentas de Integração Contínua, como jenkins
  • Suporta muitas tecnologias e frameworks, navegadores e dispositivos
  • Teste de quase 20 locais globais
  • Pode testar no nível de protocolo, bem como usar navegadores reais

 

Diferenças básicas entre LoadView e Selênio

LoadView

selénio

LoadView é uma solução baseada na Web Selênio é uma biblioteca de programação tangível e não um aparelho
O LoadView não precisa de suporte estendido para testes entre navegadores O Selenium suporta uma ampla gama de navegadores para testes de navegador cruzado
LoadView dimensiona tudo, e o usuário pode ver a visualização gráfica dos testes de carga Selênio não escala bem
LoadView pode capturar um vídeo para facilitar a solução de problemas O Selenium WebDriver não é capaz de capturar um vídeo e solução de problemas

 

O conjunto de testes selenium pode ser composto em uma suíte TestNG XML. Como o nome propõe, é um documento XML que retrata toda uma suíte/situação de teste de Selênio para ser executada. O registro subsequente pode ser compartilhado entre máquinas de teste, admitindo que eles têm uma lógica de inclusão de teste semelhante.

O selênio pode ser utilizado para alguns testes de apresentação (por exemplo, testes restritos de transmissão de dados), mas não pode ser utilizado para empilhar testes com exatidão como o LoadView. Por exemplo, o Selênio não pode produzir um número controlado de solicitações por um período considerável de tempo. O LoadView torna a configuração de seus detalhes de teste de carga, como usuários simultâneos, atrasos, tempos de rampa/rampa para baixo e muito mais.

E como mencionamos anteriormente, o LoadView pode gravar scripts passo a passo para sessões de aplicativos da Web através de navegadores reais e reproduzir as sessões da Web à medida que o servidor os vê. Além disso, o LoadView tem outra experiência de cliente final incluída, o que lhe dá poder testar suas páginas da Web e ver o que os clientes veem quando seu site está sob carga.

Uma vez que seus testes estejam concluídos, você pode visualizar os dados através de relatórios de desempenho, relatórios de sessão, gráficos de cachoeira, etc., para ver a divisão de desempenho de cada elemento e componente. Na maior parte do tempo, há erros e bugs que seus usuários podem nem estar cientes, mas está afetando os tempos de carga e o desempenho. Você pode ver exatamente onde estão os problemas, para que suas equipes possam corrigi-los rapidamente.

 

Conclusão: Teste de carga de selênio explicado

LoadView e Selenium são ambos utilizados para testes de aplicativos web. No entanto, a distinção fundamental é que o LoadView é geralmente usado para testar a apresentação de aplicativos web sob carga e estresse. Por outro lado, o Selenium é mais apropriado para testes de automação e cross program de um site. À luz de que tipo de teste é importante para o empreendimento, certamente pode-se usar o LoadView para atender a todas as suas necessidades de teste de desempenho.

O LoadView fornece vem pronto com muitos recursos fora da caixa que a maioria das ferramentas no mercado não incluem. Além disso, os usuários têm a opção de escolher entre vários planos baseados em assinatura ou um plano sob demanda, que melhor se adequa às necessidades da sua organização.

Experimente o LoadView para você hoje! Ou melhor ainda, agende uma demonstração ao vivo com um de nossos engenheiros de desempenho. Eles vão levá-lo passo a passo através da plataforma LoadView e mostrar exatamente como configurar, configurar e executar testes de carga.

 

Logotipo de selênio: Diego Molina (diemol) / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)