Deve ler 30 perguntas e respostas da entrevista com o Selenium: Guia definitivo 2022
Publicados: 2021-01-04Você está participando de uma entrevista importante e se perguntando quais são todas as perguntas da entrevista do Selenium pelas quais você passará?
Criamos este guia de perguntas e respostas da entrevista Selenium mais lido para ajudá-lo a entender a profundidade das perguntas e enfrentá-las com confiança.
Além disso, por serem manuais, são propensos a erros. O teste manual não ajuda a longo prazo e, portanto, testes automatizados como o Selenium estão ganhando demanda no setor. Se você está seguindo sua carreira em testes automatizados e tem uma entrevista futura no Selenium, este blog é para você.
Neste blog, discutiremos aqui as perguntas mais comuns da entrevista Selenium. Estas são para ambos - os iniciantes , bem como as perguntas da entrevista Selenium para experientes.
Perguntas e respostas da entrevista com Selenium 2022
Q.1) Por que escolher o Selenium em vez de outras ferramentas de teste automatizadas?
O selênio é de código aberto. É muito fácil de adaptar em comparação com outras ferramentas automatizadas do mercado. Devido a esse motivo, muitas empresas optam por testes automatizados de Selenium em vez de outros métodos tradicionais.

Q.2) Liste alguns benefícios do Selenium sobre ferramentas como TestComplete e QTP. Além disso, quais são as desvantagens?
O Selenium não requer uma licença, ao contrário do TestComplete e QTP, sendo fácil para os bolsos. A comunidade online oferece suporte maciço. Os ciclos de lançamento são menores e o feedback é imediato em comparação com TestComplete e QTP. Além disso, o Selenium também funciona em Mac, Linux e Windows.
Pelo contrário, o Selenium exige que um desenvolvedor tenha altas habilidades de codificação. Considerando que QTP e TestComplete requerem nível baixo a moderado de habilidades de codificação, respectivamente.
Q.3) Que mudanças ocorreram nas várias atualizações de versão do Selenium?
Na primeira versão do Selenium, Selenium v1, ele compreendia apenas três conjuntos de ferramentas, que são Selenium IDE, RC e Grid. O Webdriver estava faltando. Foi apenas na segunda versão do Selenium, Selenium v2 que o Webdriver foi introduzido. Uma vez feito isso, o Selenium RC não estava mais em uso.
Você pode encontrá-los no mercado, mas o suporte não está disponível. A próxima versão do Selenium é o Selenium v3. Ele consiste em Webdriver, IDE e o Grid. Atualmente está em uso. Uma versão mais recente, Selenium v4, também está disponível.
O Selenium IDE é principalmente para gravação e reprodução. O Webdriver é para testar as aplicações web dinâmicas usando uma interface de programação. O Grid é usado para empregar testes em máquinas host remotas.
Você deve usar o IDE para gravação e reprodução de testes. Um WebDriver é usado para testar aplicativos da Web ativos usando uma interface de programação, e o Grid é empregado para implantar testes em máquinas host isoladas.
Q.4) Quais são as várias exceções no Selenium WebDriver?
Assim como qualquer outra linguagem de programação, você também pode encontrar exceções no Selenium. Você pode encontrar as seguintes exceções no Selenium WebDriver:
TimeoutException: você obtém essa exceção quando um comando não executa uma ação no tempo especificado.
NoSuchElementException: você obtém essa exceção quando não consegue encontrar um elemento com os atributos fornecidos em uma página da web.
ElementNotVisibleException: você obtém essa exceção quando um elemento está disponível no modelo de objeto do documento, mas não é visto na página da Web.
StaleElementException: você obtém essa exceção quando um elemento não é anexado ao modelo de objeto do documento ou é excluído.
Q.5) Explique o teste de exceção do Selenium
A exceção que você espera que seja lançada dentro de uma classe de teste é um teste de exceção. Se você escrever um caso de teste com a intenção de lançar uma exceção, você deve usar a anotação @test e também mencionar nos parâmetros qual exceção seria lançada. Por exemplo,
@Test(expectedException = NoSuchElementException.class)
Q.6) Existe a necessidade de uma planilha excel em um projeto? É sim, como?
As planilhas do Excel são usadas como fonte de dados durante o teste. Além disso, ele também armazena o conjunto de dados durante a execução de testes orientados por dados. Quando as planilhas do Excel são usadas como fonte de dados, elas podem armazenar:
URL do aplicativo: os desenvolvedores podem mencionar o URL do ambiente no qual o teste é executado. Por exemplo, ambiente de teste, ambiente de desenvolvimento, ambiente de controle de qualidade, ambiente de produção ou ambiente de preparação.
Informações de nome de usuário e senha: planilhas do Excel podem manter seguras as credenciais de acesso como o nome de usuário de uma senha de vários ambientes. Os desenvolvedores podem criptografar e armazenar esses detalhes por motivos de segurança.
Casos de teste: Os desenvolvedores podem fazer uma tabela onde uma coluna escreve o nome do caso de teste e a outra que diz para ser executado ou não.
Se você for usar planilhas do Excel para o DataDriven Test, poderá armazenar facilmente as informações para várias duplicações a serem executadas durante os testes. Por exemplo, todos os dados que precisam ser escritos em uma caixa de texto para teste em uma página da web podem ser armazenados nas planilhas do Excel.
Q.7) O que é POM? Liste suas vantagens?
POM significa Modelo de Objeto de Página. É um padrão de design para criar um repositório de objetos para elementos de interface do usuário da web. Cada página da web no aplicativo deve ter sua própria classe de página correspondente, que é responsável por pesquisar os WebElements nessa página e, em seguida, executar operações neles.
As vantagens de usar o modelo de objeto Page são:
- Ele torna o código legível, permitindo que os desenvolvedores separem as operações e os fluxos de interface do usuário da verificação.
- Vários testes podem usar o mesmo Repositório de Objetos porque ele é independente dos Casos de Teste.
- O código torna-se reutilizável.
Q.8) O que é uma Fábrica de Páginas?
O Page Factory oferece um método aprimorado para executar o Page Object Model usando eficientemente a memória, e a execução é feita usando o design orientado a objetos.
Implementação de POM | |
Com Fábrica de Páginas | Sem fábrica de páginas |
Usa Por() | Usa @FindBy() |
Não são necessárias importações | Fábrica de páginas de importação |
Sem armazenamento em cache | A pesquisa de cache é mais rápida |
O Page Factory inicializa os elementos do Page Object ou instancia os próprios Page Objects. Anotações para elementos também podem ser produzidas. É, de fato, uma maneira melhor, pois as propriedades descritivas podem não ser expressivas o suficiente para diferenciar um objeto de outro
Se o POM for usado sem uma fábrica de páginas, em vez de ter que usar 'FindElements', @FindBy será usado para procurar WebElement e initElements será usado para inicializar elementos da Web da classe Page Factory.
@FindBy pode aceitar atributos como tagName, name, partialLinkText , linkText, id, className , css e xpath.
Q.9) Como você consegue a sincronização no WebDriver? Ou, conte-nos sobre os diferentes tipos de instruções de espera Selenium Web Driver?
Você pode encontrar duas instruções de espera no driver da Web Selenium, a saber, Implicit Wait e Explicit Wait.
A espera implícita comanda o WebDriver a aguardar um pouco pesquisando o DOM. Ele está presente por toda a vida útil da instância do driver da Web, uma vez que a espera implícita é declarada. O valor predefinido é zero. Se você definir mais que zero, o comportamento pesquisará o DOM regularmente com base na implementação do driver.
A espera explícita comanda a execução para esperar um pouco até que uma condição seja alcançada como:
- elementToBeClickable
- presençaDoElementoLocalizado
- elementoToBeSelected
Leia: Perguntas e respostas da entrevista de primavera
10) Qual é o uso do JavaScriptExecutor?
Você pode executar JavaScript por meio do Selenium Websriver usando JavaScriptExecutor. É uma interface que oferece esse mecanismo. Ele fornece métodos como “executescript” e “executeAsyncScript” para executar o JavaScript na condição do quadro ou janela atualmente escolhido. Um exemplo disso é:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript(Script,Argumentos);
Q.11) Qual função permite rolar uma página usando JavaScript no Selenium?
A função window.scrollBy() ajuda você a rolar a página usando JavaScript no Selenium. Por exemplo:
(driver (JavascriptExecutor)).executeScript(“window.scrollBy(0,500”);
Q.12) Como você lida com as ações do mouse e do teclado usando o Selenium?
Ações especiais de mouse e teclado são tratadas usando a API de interações avançadas do usuário. Ele inclui as Ações e as Classes de Ação que são necessárias para realizar esses eventos. Os eventos de mouse e teclado mais usados são fornecidos pela classe Action são:
dragAndDrop(): Este evento executa clique e segure na posição do elemento de origem, move.
source, target(): Move para a posição do elemento de destino e libera o mouse.
clickAndHold(): Clica na localização atual do mouse.
Q.13) Quais são os vários tipos de frameworks Selenium?
Os vários tipos de frameworks Selenium são:
- Estrutura orientada por palavras-chave: nesta estrutura, as operações e instruções são escritas em um arquivo separado como o Excel.
- Estrutura orientada a dados: nessa estrutura, os dados de teste completos são obtidos de alguns arquivos de origem externa, como XML, Excel, CSV ou alguma outra tabela de banco de dados.
- Estrutura Híbrida: Esta estrutura é uma mistura da estrutura orientada por palavras-chave e da estrutura orientada a dados.
Q.14) Cite alguns arquivos que servem como fonte de dados para várias estruturas do Selenium.
Eles podem ser um arquivo XML, Excel, CSV ou até mesmo um arquivo de texto.
Q.15) O que é Selenese?
Selenese é o grupo de comandos do selenium para testar uma aplicação web. Os desenvolvedores podem usar asserções, ações e acessadores. Asserções são usadas como pontos de verificação. As ações são para executar operações e os Acessores são usados para armazenar o valor de uma variável.
Q.16) Qual é a principal diferença entre uma Fábrica de Páginas e um Modelo de Objeto de Página (POM)?
Uma pergunta comum de entrevista de selênio. Uma fábrica de páginas é um método para inicializar elementos da web dentro do objeto de página na criação da instância. Por outro lado, o modelo de objeto de página é uma classe que declara a página da Web e contém suas funcionalidades.
Q.17) O Selenium suporta o tratamento de janelas pop-up?
Não. O Selenium não suporta a manipulação de pop-ups. Um alerta, que é uma janela pop-up, exibe uma mensagem de aviso na tela. Você pode conseguir isso usando alguns métodos como:

Void dispense(): Quando o botão cancelar é clicado na caixa de alerta, esse método é chamado.
Void accept(): Quando o botão 'OK' do alerta é clicado, este método é chamado.
String getText(): Se você deseja capturar a mensagem de alerta, deve chamar este método.
Void sendKeys(String stringToSed): Se você deseja enviar alguma informação para a caixa de alerta, deve chamar este método.
Leia: Reagir Perguntas e Respostas da Entrevista
Q.18) Explique a classe do robô
Uma classe Robot dá controle sobre os dispositivos de teclado e mouse.
Os métodos compreendem:
- KeyPress(): Chamado no evento em que você deseja pressionar uma tecla.
- KeyRelease(): Chamado no evento para liberar a tecla pressionada.
- MouseMove(): Chamado no evento quando você tem que mover o ponteiro do mouse nas coordenadas X e Y.
- MousePress(): Chamado no evento quando você pressiona o botão esquerdo do mouse.
- MouseMove(): Chamado no caso de soltar o botão pressionado do mouse.
Q.19) Como lidar com muitas janelas no Selenium?
O identificador de janela é um identificador especial que possui o endereço de todas as janelas. Ele serve como um ponteiro para uma janela que retorna o valor na string.
- get.windowhandle(): Obtém o handle da janela atual.
- get.windowhandles(): Obtém as alças de todas as janelas abertas.
- mudar para: Ajuda a alternar entre as janelas.
- set: define as alças da janela, que está na forma de uma string.
- ação: ajuda a executar determinadas ações nas janelas.
Q.20) O que são ouvintes?
A interface que altera o comportamento do sistema é chamada de listeners no Selenium. Eles permitem personalizações de logs e relatórios. Eles são de dois tipos: ouvintes TestNG e ouvintes Webdriver.
Q.21) Explicar os comandos Assert e Verify
Asserção: Uma asserção é usada para diferenciar entre o resultado real e o resultado esperado.
Verificar: As execuções de teste não são pausadas, independentemente de a condição de verificação ser verdadeira ou falsa.
Q.22) Como se navega para frente e para trás em uma página da web?
É uma das perguntas mais comuns em entrevistas de selênio.
Você pode usar os métodos abaixo para navegar para frente e para trás.
driver.navigate.forward
driver.gerenciar.navegar
motorista.gerenciar.voltar
driver.navigate.to(“url”)
Q.23) Como enviar a tecla ALT/SHIFT/CONTROL no Selenium WebDriver?
Normalmente, usando as teclas como ALT, Shift ou Control, nós as combinamos com outras teclas para ativar uma função. Não podemos simplesmente clicar neles sozinhos. Precisamos definir dois métodos com a finalidade de manter essas chaves enquanto as seguintes chaves são
pressionado: keyUp(modifier_key) e keyDown(modifier_key)
Parâmetros: Modifier_key (keys.ALT ou Keys.SHIFT ou Keys.CONTROL)
Objetivo: O objetivo é executar um pressionamento de tecla modificadora sem liberar a tecla modificadora. As seguintes interações podem presumir que ele é mantido pressionado.
Parâmetros: Modifier_key (keys.ALT ou Keys.SHIFT ou Keys.CONTROL)
Objetivo: O objetivo é realizar uma liberação de chave.
Assim, com uma mistura desses dois métodos, podemos capturar a função especial de uma determinada tecla.
Q.24) Como fazemos capturas de tela no Selenium WebDriver?
A função TakeScreenshot ajuda a fazer uma captura de tela no Selenium Webdriver. Além disso, você pode salvar a captura de tela usando o método getScreenshotAs().
Arquivo scrFile = ((TakeScreenshot)driver).getScreenshotAs(outputType.FILE);
Q. 25) Podemos definir o tamanho da janela do navegador usando o Selenium? Se sim, como?
sim. Se você deseja maximizar o tamanho da janela do navegador, você precisa usar o código
driver.manage().window().maximize();
Se você deseja redimensionar a janela atual para uma dimensão específica, você deve usar o método setSize(). Por exemplo:
System.out.println(driver.manage().window().getSize());
Dimensão d = nova Dimensão(420.600);
driver.manage().window().setSize(d);
Se você deseja definir a janela para um tamanho específico, você deve usar o método window.resizeTo().
Por exemplo:
((JavascriptExecutor)driver).executeScript(“window.resizeTo(1024, 768);”);
Q.26) Como selecionar um valor na lista suspensa? Como lidar com uma lista suspensa?
Você provavelmente será questionado sobre uma pergunta sobre lista suspensa e seleção de valores, pois também é um pouco complicado e técnico.
O detalhe mais importante que você deve saber é que para trabalhar com um dropdown no Selenium, é importante usar a tag html: 'select'. Você não pode lidar com listas suspensas sem usar a tag de seleção. Dê uma olhada no código abaixo:
<select id=”mySelect”>
<option value="option1″>Bolos</option>
<option value="option2″>Chocolates</option>
<option value="option3″> Doces</option>
</select>
No código acima, uma tag HTML 'select' é usada para definir um elemento suspenso. O ID da tag select aqui é myselect. Demos três opções no menu suspenso: Bolos, Chocolates e Doces. Você pode ver que cada uma dessas opções tem um atributo de valor anexado. Por exemplo, para Bolo, o valor é Option1, para Chocolates é Option2 e para Candies é Option3.
Para escolher um valor, você precisa:
Identifique o elemento html 'select' usando o elemento find()
Exemplo:
WebElement mySelectElement = driver.findElement(By.id(“mySelect”));
Selecionar dropdown = new Select(mySelectElement);
Escolha uma opção desse elemento suspenso.
Para escolher uma opção nesse menu suspenso, existem três maneiras:
dropdown.selectByVisibleText(“Chocolates”); → Escolhendo uma opção pelo texto que é visto.
dropdown.selectByIndex(“1”); → Escolher uma opção usando o número de índice dessa opção.
dropdown.selectByValue(“opção2”); → Escolher uma opção usando o valor dessa opção.
Observe que em todos os casos, a opção “Chocolates” é selecionada no menu suspenso. Os pontos 1 e 3 são óbvios e o ponto dois; dizemos “1” porque a indexação começa do zero.
Leia: Principais perguntas e respostas da entrevista do Nagios
Q.27) Como você pula para uma nova aba que abre depois que você clica em um link?
Ao clicar em um link em uma página da Web, você precisa usar o comando switchTo() para alterar o foco do Webdriver. Exemplo: driver.switchTo().window();
onde 'windowName' é o nome da janela para a qual você deseja mudar o foco.
Caso não tenha o nome da janela, você pode usar o comando driver.getWindowHandle() para buscar o nome de todas as janelas que foram iniciadas pelo WebDriver. Lembre-se, ele nunca lhe dará os nomes das janelas que o Webdriver não iniciou.
Ao obter o nome, você precisa executar um loop para chegar a essa janela. Aqui está um exemplo:
String handle= driver.getWindowHandle();
for (identificador de string: driver.getWindowHandles())
{
driver.switchTo().window(handle);
}
Q.28) Como carregar um arquivo no Selenium WebDriver?
O comando element.send_keys(file path) é usado para carregar um arquivo no Selenium Webdriver. Mas antes disso, você deve usar a tag html: 'input' onde o tipo de atributo deve ser 'arquivo'. Segue um exemplo para entender melhor:
<input type=”file” name=”my_uploaded_file” size=”50″ class=”pole_plik”>
elemento = driver.find_element_by_id(”my_uploaded_file”)
element.send_keys(“C:meuarquivo.txt”)
Q.29) Qual é a importância do testng.xml?
Se você está entrevistando para o Selenium, certamente sabe a importância dos testes. O Selenium não suporta a geração do relatório nem o gerenciamento de casos de teste. Nós, portanto, usamos o framework TestNG com o Selenium. É muito avançado em comparação com o Junit e é mais fácil implementar anotações, tornando o framework TestNG a escolha com o Selenium Webdriver.
Você pode definir os conjuntos de teste e o agrupamento de classes de teste no TestNG, obtendo comandos do arquivo testing.xml. Ele é representado em um arquivo XML e não em um conjunto de testes dentro do código-fonte de teste porque o conjunto é um recurso de execução. Um conjunto de testes é um grupo ou coleção de casos de teste.
O arquivo testng.xml deve conter o nome de todos os métodos e classes que você deseja executar como parte desse fluxo de execução.
Algumas das vantagens de usar o arquivo testng.xml são:
- Permite a execução de vários casos de teste de várias classes
- Permite a execução de casos de teste em grupos, onde um único teste pode pertencer a vários grupos.
- Permite execução paralela.
Q. 30) Explique DataProviders em TestNG. É possível chamar um único método de provedor de dados para várias funções e classes?
Uma das perguntas avançadas da entrevista de selênio. DataProvider é um recurso do TestNG, permitindo que os desenvolvedores escrevam testes DataDriven. Ele suporta testes DataDriven, o que significa que o mesmo método de teste pode ser executado várias vezes com diferentes conjuntos de dados. DataProvider é apenas um método de passar parâmetros para o método de teste.
@DataProvider é um método para fornecer dados para um método de teste. O método anotado deve retornar um Object[] onde cada Object[] pode ser alocado para a lista de parâmetros do método de teste.

sim. É possível chamar um único método de provedor de dados para várias funções e classes. O mesmo DataProvider pode ser usado em várias funções e classes declarando DataProvider em uma classe separada e, em seguida, usando-o novamente em várias classes.
Q. 31) Quais são os recursos do TestNG?
- Anotações antes e depois
- Configuração de teste baseada em XML
- Execução multithread
- API aberta
- Relatórios melhores
- Testes baseados em dados
- Grupos Dependentes.
- Métodos dependentes
Obtenha o curso de desenvolvimento de software das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Conclusão
Chegando ao final do guia de perguntas e respostas da entrevista do Selenium , esperamos que isso ajude você a conseguir seu emprego. As perguntas da entrevista de Selenium para experientes são mais técnicas, mas com a concorrência acirrada por empregos, é sempre bom estar bem preparado para uma entrevista.
Se você estiver interessado em aprender Selenium, DevOps e tudo sobre desenvolvimento Full Stack, confira o Programa PG Executivo do IIIT-B & upGrad no Programa de Desenvolvimento de Software Full Stack.
