Você está na página 1de 88

Teste Automatizado de Interface

Prof. Jean-Rémi Bourguet

Teste de Software
Execução Automática de Casos de Teste

I A otimização pode ocorrer em qualquer uma das fases de teste.


I Maior quantidade realizada em menor tempo [Vincenzi et al. 2018].
I Evita despander os esforços em atividades repetitivas.

Teste Automatizado de Interface 2/56


Execução Automática de Casos de Teste

I A pirâmide de teste apresenta as especificidades de automatizações.


I 3 níveis: unitário (Unit), serviço (Service) e via interface gráfica (UI).

Teste Automatizado de Interface 2/56


Plano

I. Selenium

II. Robot Framework

Teste Automatizado de Interface 3/56


Selenium

I Selenium é um framework portátil para testar aplicativos web.


I Composto por diferentes ferramentas com função específica.
I Selenium IDE: plug-in GUI para prototipagem rápida de casos de teste
I Selenium WebDriver: API principal pra escrever testes independentes.
I Selenium Grid: execução de scripts WebDriver em máquinas remotas

u https://www.youtube.com/watch?v=Fw9YW5_MZRs
Teste Automatizado de Interface 4/56
Selenium IDE

I Selenium IDE é a ferramenta mais simples do Selenium Suite.


I É um complemento do Browser que cria testes muito rapidamente.
I Usa uma funcionalidade de gravação e reprodução.

® https://www.selenium.dev/selenium-ide/
Teste Automatizado de Interface 5/56
Selenium IDE

I Com BuscaCEP, pode fazer suas consultas individuais de CEP.

® https://www2.correios.com.br/sistemas/buscacep/
buscaCepEndereco.cfm
Teste Automatizado de Interface 5/56
Selenium IDE

Teste Automatizado de Interface 5/56


Selenium IDE

Teste Automatizado de Interface 5/56


Vantagens do Selenium IDE

I Deve ser usado apenas como uma ferramenta de prototipagem.


I Não é uma solução para desenvolver suítes de teste complexas.

Teste Automatizado de Interface 6/56


Vantagens do Selenium IDE

I Você pode usar IDE sem conhecimento prévio em programação.


I Porém, você deve estar familiarizado com HTML, JavaScript e DOM.
I JS será necessário quando chegarmos ao comando "runScript".

Teste Automatizado de Interface 6/56


Vantagens do Selenium IDE

I Oferece suporte para preenchimento automático ao criar testes.


I Esse recurso tem dois propósitos:
I Isso ajuda o testador a inserir comandos mais rapidamente.
I Ele restringe o usuário para não inserir comandos inválidos.

® https://www.guru99.com/introduction-selenuim-ide.html
Teste Automatizado de Interface 6/56
Features of Selenium IDE

Teste Automatizado de Interface 7/56


Command, Target, and Value fields

I Command: executar ações em um navegador.


I Target: identificar elemento na página (id, name, xpath, dom, css).
I Value: valor simples armazenado do elemento durante a gravação.

Teste Automatizado de Interface 8/56


Comandos Selenium usados com frequencia

I open: abre uma página usando a URL.


I click: realiza um clique...
I clickAndWait: e aguarda o carregamento de uma nova página.
I verifyTitle/assertTitle: verifica se o título da página é o esperado.
I verifyTextPresent: verifica se o texto esperado está em algum lugar.
I verifyElementPresent: verifica um elemento de UI com tag HTML.
I verifyText: verficia se o texto esperado e a tag HTML correspondente.
I verifyTable: verifica se o conteúdo da tabela é o esperado.
I waitForPageToLoad: pausa execução até que a nova página carregue.

Teste Automatizado de Interface 9/56


Verificando elementos da página

I Verificar os elementos de UI em uma página web é provavelmente...


I ...o recurso mais comum dos seus testes automatizados para testar:
- se um elemento está presente em algum lugar da página?
- se um texto específico está em algum lugar da página?
- se um texto específico está em um local específico na página?
- se uma imagem existe em algum lugar?

Teste Automatizado de Interface 10/56


Asserção ou Verificação?

I Escolher entre assert e verify se resume à gerenciamento de falhas.


I Um assert irá falhar no teste e abortar o caso de teste atual
I Um verify irá falhar no teste e continuar a executar o caso de teste.

® https://www.selenium.dev/pt-br/documentation/legacy/
selenium_ide/
Teste Automatizado de Interface 11/56
waitFor

I Todas as asserções do Selenium podem ser usadas em 3 modos:


assert, verify e waitFor.
I Quando uma asserção falha, o teste é abortado.
I Quando uma verificação falha, o teste continuará, registrando a falha.

Teste Automatizado de Interface 12/56


waitFor

I waitFor aguarda até que alguma condição se torne verdadeira.


I Pode ser útil para testar aplicativos Ajax.
I Eles terão sucesso imediatamente se a condição já é verdadeira.
I Falharão e interromperão o teste se a condição não se tornar
I ...verdadeira dentro da configuração de timeout atual.

Teste Automatizado de Interface 12/56


Comandos de armazenamento e variáveis Selenium

I Você pode usar variáveis Selenium para armazenar constantes.


I As variáveis podem ser usadas para armazenar valores passados.
I O comando store leva dois parâmetros:
o valor do texto a ser armazenado e uma variável Selenium.
I Posteriormente em seu script, você desejará usar o valor armazenado.
I Variável entre colchetes ({}) e preceda-a com um cifrão (\${user}).

Teste Automatizado de Interface 13/56


Menu Bar

I Ele está localizado na parte superior do IDE.


I Os menus mais usados são os menus File, Edit e Options.

Teste Automatizado de Interface 14/56


Menu Bar

File
I Ele contém opções para criar, abrir, salvar e fechar testes.

Teste Automatizado de Interface 14/56


Menu Bar

I Os testes são salvos no formato HTML.


I A opção mais útil é Exportar: transformar seus casos de teste.
I Podem ser executados no Selenium Remote Control e WebDriver.

Teste Automatizado de Interface 14/56


Menu Bar

Os casos de teste podem ser exportados para os seguintes formatos:

I .cs (C# source code)


I .java (Java source code)
I .py (Python source code)
I .rb (Ruby source code)

Teste Automatizado de Interface 14/56


Menu Bar

Edit
I Opções importantes: Insert New Command e Insert New Comment.
I Comando ou comentário recém-inserido é colocado no topo da linha.
I Os comandos são coloridos em preto e os comentários em roxo.

Teste Automatizado de Interface 14/56


Menu Bar

Options

I Fornece a interface para definir configurações do Selenium IDE.


I Devemos nos concentrar nas opções Options e Clipboard Format.

Teste Automatizado de Interface 14/56


Menu Bar

I Quando você escolhe Java/JUnit4/WebDriver como formato...


I cada comando Selenese que você copiar do editor do Selenium IDE...
I ...será colado como código Java.

Teste Automatizado de Interface 14/56


Selenium IDE Options dialog box

I Você pode iniciar a caixa de diálogo Options do Selenium IDE...


I ...clicando em Option > Options... na barra de menus.

Teste Automatizado de Interface 15/56


Selenium IDE Options dialog box

I Default Timeout Value: tempo para que um elemento apareça antes


de gerar um erro. O valor de tempo limite padrão é 30000ms.
I Selenium IDE extensions: especifica as extensões de recursos.
I Remember base URL: Lembre o URL base toda vez que você iniciá-lo.
I Autostart record: Gravará imediatamente as ações do seu navegador.
I Locator builders: Ordem de geração dos localizadores na gravação.

Teste Automatizado de Interface 15/56


Selenium IDE Options dialog box

I Informam sobre qual elemento UI um comando Selenese deve atuar.


I Ao clicar em um elemento com um atributo id (primeiro da lista)...
I ...o ID desse elemento será usado como o localizador, se não nome etc.

Teste Automatizado de Interface 15/56


Base URL Bar

I Menu suspenso lembrando todos os valores anteriores para acesso.


I O comando open leva para a URL que você especificou na URL base.
I O URL base é muito útil para acessar URLs relativos.

Teste Automatizado de Interface 16/56


Base URL Bar

I Suponha o URL básico: http://newtours.demoaut.com/.


I Quando você executa o comando open com o um target signup...
I ...Selenium IDE direcionará o navegador para a página signup.

Teste Automatizado de Interface 16/56


Toolbar

Playback Speed:
Isso controla a velocidade de execução do script de teste.
Record: Isso inicia / termina sua sessão de gravação.
Cada ação do navegador inserida como comando Selenese no Editor.
Play entire test suite:
Reproduzirá sequencialmente todos os casos de teste do Pane.
Play current test case:
Reproduzirá apenas o caso de teste atualmente selecionado no Pane.
Pause/Resume:
Isso irá pausar ou retomar sua reprodução.
Step:
Permitirá que você entre em cada comando em seu script.
Apply rollup rules:
Agrupa os comandos Selenese e os execute como uma única ação.
Teste Automatizado de Interface 17/56
Test Case Pane

I No Selenium IDE, você pode abrir mais de um caso de teste por vez.
I O painel mostra a lista de casos de teste abertos no momento.
I Quando você abre uma suíte de teste, o painel listará...
I ...automaticamente todos os casos de teste contidos nele.
I O caso de teste escrito em negrito é o caso atualmente selecionado.

Teste Automatizado de Interface 18/56


Test Case Pane

I Após a reprodução, cada caso de teste é codificado por cores.


I A cor verde significa Passed, a cor vermelha significa Failed.
I Na parte inferior, há um resumo do número de casos de teste.
I Resume os casos de teste que foram executados e falharam.

Teste Automatizado de Interface 18/56


Editor

I Você pode pensar no editor como o lugar onde toda a ação acontece.
I Ele está disponível em duas visualizações: Table e Source.

Teste Automatizado de Interface 19/56


Editor

Table View
I Na maioria das vezes, você trabalhará usando o Table View.
I É aqui que você cria e modifica os comandos Selenese.
I Após a reprodução, cada etapa é codificada por cores.

Teste Automatizado de Interface 19/56


Editor

I Para criar etapas, digite o nome do comando na caixa Comand.


I Ele exibe uma lista suspensa de comandos que correspondem à...
I ...entrada que você está digitando no momento.
I Target é qualquer parâmetro (como nome de usuário, senha).
I Valor é o valor de entrada (como tom, 123pass) para esses targets.

Teste Automatizado de Interface 19/56


Editor

Source View
I Ele exibe as etapas no formato HTML (padrão).
I Ele também permite que você edite seu script.

u https://www.youtube.com/watch?v=DomPPe_fe-o
Teste Automatizado de Interface 19/56
Log Pane

I O Painel de Log exibe mensagens durante a execução.


I Fornece atualizações sobre o que o Selenium IDE está fazendo.

Teste Automatizado de Interface 20/56


Log Pane

Os logs (registros) são categorizados em quatro tipos:

I Debug: Fornecem informações técnicas sobre o que o Selenium IDE.


Por padrão, as mensagens de depuração não são exibidas no painel.
I Info: Diz qual comando Selenium IDE está executando atualmente.
I Warn: São mensagens de aviso encontradas em situações especiais.
I Error: Quando o Selenium IDE falha ao executar um comando.

Teste Automatizado de Interface 20/56


Log Pane

Os logs (registros) podem ser filtrados por tipo:


I Por exemplo, se você escolher selecionar a opção Error na lista...
I ...o Painel de Log mostrará apenas mensagens de erro.

Teste Automatizado de Interface 20/56


Reference Pane

I Mostra uma descrição concisa do comando atualmente selecionado.


I Mostra a descrição do localizador e valor a ser usado no comando.

Teste Automatizado de Interface 21/56


UI-Element Pane

I O UI-Element é para usuários avançados do Selenium.


I Usa JSON para definir mapeamentos de elementos.
I A documentação se encontra em Element Documentation (Help).

Teste Automatizado de Interface 22/56


UI-Element Pane

Teste Automatizado de Interface 22/56


Rollup Pane

I Permite que você execute um grupo de comandos em uma etapa.


I Um grupo de comandos é simplesmente chamado de rollup.
I Emprega o uso de conceitos de JavaScript e UI-Element para...
I ...formular uma coleção de comandos, semelhante a uma função.

Teste Automatizado de Interface 23/56


Rollup Pane

I Rollup são reutilizáveis, contribuindo para encurtar o script de teste.


I Eles podem ser usados várias vezes no caso de teste.

Teste Automatizado de Interface 23/56


Plano

I. Selenium

II. Robot Framework

Teste Automatizado de Interface 24/56


Robot Framework

I Framework para automação de testes de aceitação.


I ATDD: Acceptance Test-Driven Development.
I BDT: Behaviour Driven Testing e RPA: Robotic Process Automation.
I Nativamente implementado para Python e Java.
I Fornece a sintaxe para escrever casos de teste.

Teste Automatizado de Interface 25/56


Robot Framework

I Sintaxe tabular, com abordagem de palavras chave (keyword driven).


I Esta abordagem é o que mais me chamou atenção no Robot, pois...
I ...permite a escrita de cenários com linguagem totalmente natural.

Teste Automatizado de Interface 25/56


Robot Framework

I A curva de aprendizado é simples: não precisa ter experiência.


I É possível também usar a sintaxe Gherkin.

® https://medium.com/revista-tspi/
gherkin-o-dia-em-que-entendi-que-estava-escrevendo-errado-22
Teste Automatizado de Interface 25/56
Keyword-Driven Testing ou Table-Driven Testing

I As palavras-chave usadas são independentes do framework de teste.


I Descrever as ações que precisam ser executadas para um teste.
I Testadores podem fazer uso de palavras-chave para descrever a ação.
I Ele pode ser usado para testes manuais e automatizados.

Teste Automatizado de Interface 26/56


Keyword-Driven Testing ou Table-Driven Testing

Existem diferentes tipos de palavras-chave de nível:

(1) superior (de usuário): testar aspectos específicos de um sistema.


(2) inferior (das librarias): testar as funcionalidades raízes.

Teste Automatizado de Interface 26/56


Keyword-Driven Testing ou Table-Driven Testing

I Precisa identificar o conjunto certo de palavras-chave de usuários.


I Em seguida, precisa associar palavras-chave de librarias:
I Todas essas palavras-chave são autoexplicativas.
I Isso que torna as palavras-chave- testes dirigidos mais eficazes.

Teste Automatizado de Interface 26/56


Arquitetura do Robot Framework

I A estrutura do Robot tem uma arquitetura altamente modular.


I Os usuários podem criar palavras-chave de nível superior...
I ...a partir das palavras-chave existentes de nível inferior.
I Pode criar bibliotecas de teste em diferentes linguagens de prog.

Teste Automatizado de Interface 27/56


Editores indicados

I Pycharm com os plugins Intellibot e Robot Framework Support.


I Visual Studio Code, com algum plugin para o Robot Framework.

Teste Automatizado de Interface 28/56


Indentação

I Python é uma linguagem indentada (indentação visual obrigatória).


I Os blocos de comando são separados por espaços ou tabulações.
I Não existem símbolos "abre"/"fecha", o Robot herda essa formatação.

Teste Automatizado de Interface 29/56


Dados de teste

I Dados de teste é a primeira camada presente em um formato tabular.


I Como os dados estão em um formato tabular, mantê-los é muito fácil.
I Esses dados de teste são a entrada para a estrutura do Robot.

Teste Automatizado de Interface 30/56


Dados de teste

I Recebe os dados de teste, ele começa a processar os dados de teste.


I Na execução, gera relatórios (em HTML e XML) e logs.
I Oferecem informações sobre cada linha executada do caso de teste.

Teste Automatizado de Interface 30/56


Bibliotecas e ferramentas de teste

I Robot interage com as outras camadas do sistema usando bibliotecas.


I Isso torna o código portátil e sustentável.
I As bibliotecas são importadas no início da implementação.

Teste Automatizado de Interface 31/56


Settings

I Aqui é onde você configura as bibliotecas que serão utilizadas...


I ...caminhos para arquivos auxiliares, contextos e hooks.

Teste Automatizado de Interface 32/56


Variables

I Lista das variáveis a serem usadas (de preferência com descrição) e...
I ...definição dos valores de algumas dessas variáveis.

Teste Automatizado de Interface 33/56


Test Cases

I Esta é a seção mais importante, pois sem ela seu teste não roda.
I Aqui, ficam os cenários/casos de teste, com ou sem implementação.
I Todas as seções acima são opcionais, exceto a *** Test Cases ***.
I As outras seções não são obrigatórios, mas ajudam na organização!
I Aqui descreve cenários e casos de teste, em linguagem natural.
I Só escreva o nome do cenário como se fosse um título.

Teste Automatizado de Interface 34/56


Keywords

I Aqui, define-se palavras chave ou implementar os cenários de teste.

Teste Automatizado de Interface 35/56


Keywords

I Veja que o Robot reconhece os parâmetros a serem passados


I Basta você substituir o parâmetro pelo nome da variável.
I Não precisa de nenhum comando ou caractere especial para isso.

Teste Automatizado de Interface 35/56


Keywords

I Cada variável fica no contexto da sua palavra chave.


I Para a variável ser visível em outros contextos, é preciso especificar.
I Set Test Variable torná-la visível dentro do nosso cenário.
I Existem também o Set Suite Variable e o Set Global Variable.

Teste Automatizado de Interface 35/56


Documentation

I Precede a descrição da funcionalidade ou do cenário de teste.


I Fique atento, porque se a documentação é feita em *** Settings ***
I Ela não deve estar entre colchetes!
I Só são usados dentro dos *** Test Cases ***

Teste Automatizado de Interface 36/56


Tags

I Um rótulo mais simples para o cenário...


I ...caso queira ou precise rodar somente um ou poucos casos.
I É possível fazer isso chamando pelo título dos cenários.
I Como eles são grandes, as tags acabam sendo a melhor opção.

Teste Automatizado de Interface 37/56


Espaços e Variáveis

I As variáveis são case insensitive, representadas por ${variavel}.


I O Robot tem a peculiaridade de ignorar espaços entre palavras:
${nome_da_variavel} é igual a ${nome da variavel}.
I As divisões dos argumentos são feitas por, no mínimo, dois espaços!
I Sinal de atribuição (=) é opcional (${valor} valor o ${valor} = valor)

Teste Automatizado de Interface 38/56


Instalação

I O pré requisito é ter o Python 2.7 ou mais instalado na máquina.


I Verifique se o pip, gerenciador de pacotes do Python está instalado.

I Se a mensagem aparecer assim, está tudo pronto para prosseguir.


I Baixe o arquivo requirements.txt e digite:

Teste Automatizado de Interface 39/56


Instalação

I Se preferir a instalação passo a passo, siga as instruções abaixo:

I Espere completar a instalação e verifique se tudo ocorreu.

Teste Automatizado de Interface 39/56


Instalação

I Robot Framework realiza diferentes tipos de testes automatizados.


I Esses testes sobre teste de UI ou teste de nível de API.
I Vamos focar nos testes de UI, instalando a biblioteca do Selenium:

Teste Automatizado de Interface 39/56


Webdrivers

I No site do Selenium, baixar os drivers para controlar os browsers.


I Colocar os drivers na pasta do seu projeto.
I Mas isso não é recomendado, deve replicar o driver para cada projeto!
I No Linux, é para colocar direto na pasta /usr/local/bin/.

Teste Automatizado de Interface 40/56


Primeiro script

I Vamos fazer uma busca simples no Google.


I Nosso script vai ser salvo em um arquivo de extensão .robot.

® https:
//github.com/rodmatola/robot-framework-blog-concrete
Teste Automatizado de Interface 41/56
Settings

I Vamos começar com a seção *** Settings ***.


I Como vamos usar biblioteca do Selenium, precisa declarar na seção.

I Não é obrigatório, mas é bom também colocar uma descrição da suíte!

Teste Automatizado de Interface 42/56


Test Cases

I A palavra-chave [Documentation] está entre colchetes.


I Note que as reticências de continuação de linha estão indentadas.

Teste Automatizado de Interface 43/56


Keywords

I Nesta seção é onde você implementa todas as suas palavras chave...


I ...alinhadas à esquerda e a suas implementações indentadas abaixo.

Teste Automatizado de Interface 44/56


Reports e logs

I Após a execução dos testes, gera um report e um log em HTML.


I Se algum teste falhar, olhe o que aconteceu no log!

u https://www.youtube.com/watch?v=FRBCLpog3JA
Teste Automatizado de Interface 45/56
Bibliotecas de teste

I Robot framework faz uso de bibliotecas de teste.


I Selenium é um WebDriver/Biblioteca que requer o suporte de...
I ...executores de automação de teste para realizar a execução de teste.
I SeleniumLibrary habilita o suporte da estrutura Selenium no Robot.

Teste Automatizado de Interface 46/56


Bibliotecas de teste

I SeleniumLibrary faz interface com o Selenium WebDriver


I Selenium WebDriver executa os comandos no navegador em teste.
I A interação entre SeleniumLibrary e Selenium WebDriver é abstraída!
I Então, você precisa do Selenium WebDriver e do framework Robot.

Teste Automatizado de Interface 46/56


Testes Cross Browser

I Desafio enfrentado pela equipe de desenvolvimento e equipe de teste.


I Verificar os recursos do produto em diferentes navegadores e OS...
I Como escalar o metodo para diferentes versões de navegadores/OS?

Teste Automatizado de Interface 47/56


Testes Cross Browser

I Com LambdaTest, pode realizar testes entre navegadores na nuvem.


I Pode testar em mais de 2.000 navegadores e sistemas operacionais.
I Executa testes Selenium na nuvem Selenium Grid do LambdaTest.

Teste Automatizado de Interface 47/56


Cypress

u https://www.youtube.com/watch?v=ts2FEcR1m04
Teste Automatizado de Interface 48/56
Referências

Vincenzi, A. M. R., Delamaro, M. E., Dias Neto, A. C., Fabbri, S. C. P. F., Jino, M., and
Maldonado, J. C. (2018).
Automatização de teste de software com ferramentas de software livre.
Elseiver.

Teste Automatizado de Interface 49/56


Creditos das ilustrações

Page : https:
//www.softwaretestinghelp.com/how-is-cross-browser-testing-performed/
Page : https://github.com/SeleniumHQ/selenium-ide

Page : https://dzone.com/articles/
16-reasons-why-to-use-selenium-ide-in-2019-and-2-w
Page : https://medium.com/ranorex-webtestit/
setting-up-a-selenium-webdriver-java-project-d2efcf7ed05e
Page : https://www.youtube.com/watch?v=khPqUewusQg

Page : http://elementalselenium.com/tips/6-export-from-selenium-ide

Page : https://www.acte.in/selenium-ide-article

Page : https:
//www.tools4testing.com/contents/selenium/features-of-selenium-ide
Page : https://decostones.ie/shop/
wood-collection-internal-wall-cladding/pure-panel/
Page : https://www.guru99.com/first-selenium-test-script.html

Teste Automatizado de Interface 50/56


Creditos das ilustrações

Page : https://bytesdontbite.com/2014/03/19/
como-capturar-um-screenshot-no-selenium-webdriver/
Page : https://artoftesting.com/difference-between-assert-and-verify

Page : https://testmatick.com/
robot-framework-a-quick-review-main-benefits-and-drawbacks/
Page : https://medium.com/revista-tspi/
gherkin-o-dia-em-que-entendi-que-estava-escrevendo-errado-220a84520819
Page : https://larion.com/resource/robot-framework-user-guide/
keyword-driven-framework-testing/
Page : https://testsigma.com/blog/
data-driven-vs-keyword-driven-frameworks-for-test-automation/
Page : https://bsdmag.org/pros-cons-of-keyword-driven-testing/

Page :
https://www.interviewbit.com/automation-testing-interview-questions/
Page : https://medium.com/@selvakumarsubramanian/
robot-framework-snippets-for-vs-code-152cd30311fc

Teste Automatizado de Interface 51/56


Creditos das ilustrações

Page : https://ifunny.co/picture/
tab-club-00000000-200000-so-saicl-put-my-indentation-error-IW7z98cE8,
https:
//www.reddit.com/r/ProgrammerHumor/comments/83bxgj/python_indentation/
Page : https://thinkpalm.com/blogs/data-driven-testing-robot-framework/

Page : https://www.softwaretestinghelp.com/working-with-robot-framework/

Page : https://sysadmin.psu.ac.th

Page : https:
//packetpushers.net/exploring-robot-framework-for-automated-testing/
Page : https://www.stream.co.th

Page : http://extosoft.com

Page : https://medium.com/@mayfernandes/
season-tutoriais-ep-03-escrevendo-o-primeiro-teste-no-robot-framework-k
Page : https://agiletoolsmith.wordpress.com/tag/robot/

Page : https://stackoverflow.com/questions/53591516/
need-a-way-to-set-a-variable-in-one-keyword-and-access-it-in-another-w

Teste Automatizado de Interface 52/56


Creditos das ilustrações

Page : https:
//getting-digital.net/en/course/selenium-webdriver-masterclass-with-c/
Page : https://grafana.com/grafana/dashboards/11541

Page : https://github.com/robotframework/SeleniumLibrary/blob/master/
docs/SeleniumLibrary-5.0.0a2.rst
Page : https://blog.knoldus.com/quick-review-of-selenium-webdriver/,
https://www.casadocodigo.com.br/products/livro-selenium-webdriver
Page : https://www.softwaretestingnews.co.uk/
why-cross-browser-testing-is-important-and-which-tool-should-i-use/
Page : https://www.perfecto.io/blog/selenium-grid-in-the-cloud

Teste Automatizado de Interface 53/56

Você também pode gostar