100 perguntas e respostas da entrevista de trabalho do selênio

Este artigo será útil para todos que planejam obter um trabalho de teste ou automação de teste. Mais de 100 perguntas e respostas mais populares da Selenium Job Interviews foram compiladas aqui.

1) O que é o teste de automação?
O teste de automação é um processo no qual as ferramentas de software executam testes pré-programados em um aplicativo de software antes de serem liberados para produção. O software especial é usado para controlar a execução do teste, os resultados reais e a comparação dos resultados previstos, a configuração das pré-condições de teste e outras funções de controle de teste e relatório de teste.

2) Quais são as principais vantagens do teste de automação?
Cobertura de testes de regressão, produtividade do engenheiro de teste, consistência nos testes, reutilização dos casos de teste, custo reduzido de manutenção de software, aumento da eficácia do teste, redução do intervalo de teste, redução de erros gerados por humanos.

3) Então, o que é selênio?
O Selenium é um conjunto robusto de automação de testes projetado para suportar e encorajar testes de automação de aspectos funcionais de aplicativos baseados na Web e uma ampla gama de navegadores e plataformas.

4) Quais são as principais vantagens do selênio?

  • O selênio é uma fonte livre e aberta. Você não precisa gastar nenhum custo de licenciamento para usá-lo.
  • Compatibilidade Cross Browser (Firefox, Chrome, Internet Explorer, Safari, etc.)
  • Várias linguagens de programação (Java, C #, Ruby, Python, Pearl etc.)
  • Compatibilidade com a plataforma principal (Windows, Mac OS, Linux etc.)
  • Grande quantidade de usuários e comunidades de ajuda
  • Scripts de automação que criam capacidade para não-programadores, bem como para programadores
  • Suporte de distribuição de teste
  • Desenvolvimentos de repositórios regulares e novos

5) Quais componentes do Selenium você conhece?
O Selenium é um conjunto de ferramentas para testes automatizados na web. É composto por:

  • Selenium IDE (Integrated Development Environment) . É uma ferramenta para gravar e reproduzir. É um plugin do Firefox.
  •   WebDriver e RC . Ele fornece as APIs para uma variedade de linguagens como Java, .NET, PHP, etc. Elas funcionam com a maioria dos navegadores.
  • Grade:  você pode distribuir testes em várias máquinas para que o teste possa ser executado em paralelo, o que ajuda a reduzir o tempo necessário para executar conjuntos de testes no navegador.

6) Quantos tipos de APIs do Webdriver estão disponíveis no Selenium?
A lista de classes de driver pode ser usada para a automação do navegador.

  • AndroidDriver,
  • ChromeDriver,
  • EventFiringWebDriver,
  • FirefoxDriver,
  • HtmlUnitDriver,
  • InternetExplorerDriver,
  • iPhoneDriver,
  • iPhoneSimulatorDriver,
  • RemoteWebDriver

7) O selênio tem alguma limitação?
O selênio suporta apenas testes de aplicativos baseados na web. Então, aqui estão as limitações disso:

  • Aplicativos móveis não podem ser testados usando Selênio
  • Aplicativos de desktop não podem ser testados usando Selenium
  • Leitores de código de captcha e de código de barras não podem ser testados usando Selênio
  • O usuário deve usar ferramentas de terceiros como TestNG ou jUnit para escrever scripts de teste e gerar relatórios
  • O conhecimento da linguagem de programação é necessário para criar scripts robustos no Selenium WebDriver

8) O que é Selenium IDE?
O Selenium IDE é um plug-in usado para gravar e reproduzir testes no navegador Firefox. Os scripts podem ser automaticamente gravados e editados manualmente, fornecendo suporte à conclusão automática e a capacidade de mover comandos rapidamente.

9)   O que é Selenese?
Selenese é a linguagem que é usada para escrever scripts de teste no Selenium IDE.

10)   Quais tipos de teste são suportados pelo Selenium?

  1. Teste funcional
  2. Teste de Regressão
  3. Teste de sanidade
  4. Teste de fumaça
  5. Teste Responsivo
  6. Teste de navegador cruzado
  7. Teste de interface do usuário (caixa preta)
  8. Teste de integração

são suportados pelo Selenium.

11) Quais são os diferentes tipos de localizadores no Selenium?
Os diferentes tipos de localizadores no Selenium são ID, ClassName, Nome, TagName, LinkText, PartialLinkText, XPath, Seletor CSS, DOM.

12) Quais ferramentas de automação podem ser usadas para validação pós-lançamento com integração contínua?
Ferramentas de automação podem ser usadas para validação pós-lançamento com integração contínua: CruiseCont, Hudson, Jenkins, Quick Build.

13) Explique o significado da afirmação em selênio e quais são os tipos de afirmação?
Asserção é usada como um ponto de verificação. Ele verifica se o estado do aplicativo está de acordo com a expectativa. Os tipos de asserção são “assert”, “verify” e “waifFor”.

14) Explicar a diferença entre afirmar e verificar comandos?
Ambos verificam se a condição dada é verdadeira ou falsa. Ao contrário de “assert”, “verify” não interromperá a execução do caso de teste se o caso de teste falhar.

15)   O que é um XPath?
XPath é uma linguagem que descreve uma maneira de localizar e processar itens em documentos XML (Extensible Markup Language) usando uma sintaxe de endereçamento baseada em um caminho através da estrutura lógica ou hierarquia do documento.

16) O que é um XPath Absoluto?
O XPath absoluto é o caminho direto para encontrar o elemento. Tem uma desvantagem. O XPath falhará se houver alterações feitas no caminho do elemento. html / body / div [3] / div / div [1] / div / div / div [1] / div / input – exemplo XPath absoluto.

17)   O que é um XPath relativo?
XPath relativo significa que o usuário pode iniciar a partir do meio da estrutura HTML DOM e não precisa escrever XPath longo. Exemplo de  XPath relativo – // input [@ id = ‘email’] .

18)   Qual é a diferença entre uma barra simples (/) e uma barra dupla (//) no XPath?
Uma única barra (/) é usada para criar XPaths com caminhos absolutos começando no nó raiz.

Barra dupla (//) é usada para criar XPath relativo para iniciar seleção de qualquer lugar dentro do nó raiz

19)   Como os atributos dos elementos da web podem ser inspecionados para usá-los em diferentes localizadores?
O Firebug é um plugin do Firefox que fornece várias ferramentas de desenvolvimento para depurar aplicativos. De uma perspectiva de automação, o Firebug é usado especificamente para inspecionar elementos da web para usar seus atributos como id, classe, nome etc. em diferentes localizadores.

20)   Dê um exemplo dos idiomas suportados pelo WebDriver.
Java, C #, Python e Ruby são todos suportados diretamente pela equipe de desenvolvimento. Existem também implementações PHP e Perl WebDriver.

21) Como podemos lançar diferentes navegadores no Selenium WebDriver?
Devemos criar uma instância de um driver de um navegador específico:

 Driver do WebDriver = novo FirefoxDriver (); 

22) O que o WebDriver suportou os Drivers de Teste Móvel?
Testes móveis Os drivers suportados pelo WebDriver são: AndroidDriver, IphoneDriver, OperaMobileDriver.

23)   Explique a diferença fundamental entre o seletor XPath e o CSS.
Usando o seletor CSS, só podemos nos mover para baixo no documento, usando XPaths que percorremos no documento.

24) Como você pode descobrir se um elemento é exibido na tela?
Existem diferentes métodos, que ajudam o usuário a verificar a visibilidade dos elementos da web: isDisplayed (), isEnabled (), isSelected () . Esses elementos da web podem ser botões, caixas de seleção, caixas de seleção, botões de opção, rótulos etc.

25)   Qual é a diferença entre o comando “type” e “typeAndWait”?
Se você precisar digitar os valores da chave do teclado em um campo de texto do aplicativo da Web, o comando “type” será usado. Outro motivo para seu uso é selecionar valores da caixa de combinação. O comando “typeAndWait” é usado quando sua digitação é concluída e a página da web do software começa a ser recarregada.

26) Como o usuário pode obter um texto de um elemento da web?
O usuário pode recuperar o texto do elemento da web especificado usando o comando get. Não requer nenhum parâmetro, mas retorna um valor de string.

 String Texto = driver.findElement (By.id (“Some Text”)). getText () 

é um exemplo disso.

27)   Como um texto escrito em um campo de texto pode ser limpo?
Um texto escrito em um campo de texto pode ser excluído usando o Claro()  método.

28)   Como verificar uma caixa de seleção no Selenium?
O mesmo clique()  método pode ser usado para marcar a caixa de seleção, bem como para clicar em botões ou botões de opção.

29)   Como verificar se a caixa de seleção / rádio está marcada ou não?
é selecionado()  método é usado para verificar se a caixa de seleção / rádio está marcada ou não. Um exemplo –

 driver.findElement (By.xpath (“XPath da caixa de seleção / botão de opção”)). isSelected (); 

30)   Qual é a maneira alternativa de clicar no botão de login?
enviar()  O método pode ser usado como o modo alternativo de clicar no botão de login, mas somente se o atributo type = submit.

31)   Como selecionar um valor em uma lista suspensa?
A classe Select do WebDriver é usada para selecionar o valor no menu suspenso.

 selectByVisibleText:
Selecione selectByVisibleText = new Selecione (driver.findElement (By.id (“id_of_some_element”)));
selectByVisibleText.selectByVisibleText (“some_visible_text”);

32)   Explique a diferença entre fechar e sair do comando.
Se você precisar fechar o navegador atual com foco driver.close ()  é usado. Se você precisar fechar todas as instâncias do navegador driver.quit ()  é usado.

33)   Qual é a diferença entre os métodos setSpeed () e sleep ()?
Ambos os métodos atrasam a velocidade de execução. A principal diferença entre eles é setSpeed define uma velocidade, enquanto aplicará o tempo de atraso antes de cada operação do Selenium ocorrer. thread.sleep () irá configurar esperar apenas por uma vez.

Por exemplo:

  • dormir (5000) – Ele vai esperar por 5 segundos. É executado apenas uma vez, onde o comando é escrito.
  • setSpeed (“5000”) – Ele também irá esperar por 5 segundos. Ele executa cada comando após o atraso de setSpeed pelo número de milissegundos mencionado na velocidade definida.

34) Quais são os diferentes tipos de comandos de navegação?

  • navigate (). back ()  O comando leva o usuário de volta à página da web anterior no histórico do navegador da web. Um exemplo: driver.navigate (). Back ();
  • navigate (). forward ()  permite que o usuário navegue até a próxima página da Web com referência ao histórico do navegador. Um exemplo: driver.navigate (). Forward ();
  • De acordo com navigate (). refresh ()  O usuário do comando pode atualizar a página da web atual, recarregando todos os elementos da web. Um exemplo: driver.navigate (). Refresh ();
  • O usuário pode iniciar uma nova janela do navegador da Web e navegar para a URL especificada executando navegar para()  Um exemplo:

     driver.navigate (). Para (“https: // thinkmobiles.com/”);

35)   Qual é a diferença entre findElement () e findElements ()?
Ambos permitem que o usuário encontre elementos na página da Web atual correspondentes ao valor do localizador especificado. Mas se você usar findElement () , somente o primeiro elemento correspondente seria buscado. Um exemplo:

 Elemento WebElement = driver.findElements (By.xpath (“// div [@ id = ‘example’] // ul // li”)) 

Se você usar findElements () , todos os elementos correspondentes seriam buscados e armazenados na lista WebElements. Um exemplo:

 Lista elementList = driver.findElements (By.xpath (“// div [@ id = ‘exemplo’] // ul // li”)); 

36)   Pode selênio lidar com W indows pop baseado acima?

Os pop-ups do Windows não podem ser manipulados usando o Selenium. Porque suporta apenas testes de aplicativos da web.
37) Como podemos lidar com o pop-up baseado na web?
Existem quatro métodos de tratamento efetivo de pop-ups baseado na Web:

  • corda getText ()  método retorna o texto exibido na caixa de alerta
  • vazio aceitar()  método clica no botão “Ok” assim que a janela pop-up aparece
  • vazio dispensar()  método clica no botão “Cancelar” assim que a janela pop-up aparece
  • vazio sendKeys (String stringToSend)  método insere o padrão de string especificado na caixa de alerta

38) Você conhece uma maneira de atualizar navegador por usando S elenium?
A lista de comandos para atualizar uma página no Selenium:

  • navigate (). refresh ()
  • getCurrentUrl ()
  • navigate (). to (driver.getCurrentUrl ())

 driver.manage (). window (). maximize (); // comando é usado para maximizar a janela do navegador no Selenium 

40) Como podemos encontrar o valor de diferentes atributos como nome, classe, valor de um elemento?

  • sendKeys (Keys.F5)

39) Como podemos maximizar a janela do navegador no Selenium?

 getAttribute (“{attributeName}”) // método é usado para encontrar o valor de diferentes atributos de um elemento 

4 1 ) Poderia  biscoitos  estar  excluído em S elenium?

 driver.manage (). deleteAllCookies (); // comando é usado para deletar todos os cookies 

42) Como fazer um clique direito usando o Selenium WebDriver?
A próxima classe Actions é usada para executar o clique direito:

 Ações ato = novo Ações (driver); // onde o driver é do tipo WebDriver
act.moveToElement (webElement) .perform ();
act.contextClick (). perform ();

43) Como executar arrastar e soltar usando o Selenium WebDriver?
A próxima classe Actions é usada para executar arrastar e soltar:

 Ações builder = new Ações (driver);
Ação dragAndDrop = builder.clickAndHold (SourceElement)
moveToElement (TargetElement)
release (TargetElement)
construir();
dragAndDrop.perform ();

44) Como para  verifique se um elemento está visível na página?
O tipo de método de retorno é lógico. Se retornar true, o elemento é visível, caso contrário não é.  é exibido()  método poderia ser usado para isso:

 driver.findElement (By.id (“id_of_element”)). isDisplayed (); 

45)   Como verificar se um botão está ativado na página?
está ativado()  método poderia ser usado para isso:

 driver.findElement (By.id (“id_of_element”)). isEnabled (); 

46) O que mais ou menos  ações do mouse podem ser executadas  em selênio ?
Selenium suporta diferentes ações do mouse, tais como:

  • clique (elemento WebElement)
  • contextClick (elemento WebElement)
  • doubleClick (elemento WebElement)
  • mouseUp (elemento WebElement)
  • mouseDown (elemento WebElement)
  • mouseMove (elemento WebElement)
  • mouseMove (elemento WebElement, long xOffset, long yOffset)

47) Você pode rite o código para clicar duas vezes em um elemento S elenium?
Código para clicar duas vezes em um elemento no Selenium:

 Ações action = new Ações (driver);
WebElement element = driver.findElement (By.id (“elementId”));
action.doubleClick (element) .perform ();

48) Como mouse pairar um elemento no selênio?
Código para passar o mouse sobre um elemento no Selenium:

 Ações action = new Ações (driver);
WebElement element = driver.findElement (By.id (“elementId”));
action.moveToElement (element) .perform ();

49) O que mais ou menos  operações de teclado podem ser realizadas em S elenium?
Selenium permite realizar diferentes tipos de operações de teclado, tais como:

  • .pressKey (“chaves sem texto”)  é usado para teclas como controle, teclas de função, etc., que não são texto
  • .releaseKey (“chaves sem texto”)  é usado em conjunto com o evento de pressionamento de tecla para simular a liberação de uma tecla do evento de teclado
  • .sendKeys (“sequência de caracteres”)  é usado para passar a sequência de caracteres para um elemento de entrada ou de caixa de texto.

50) O que é o JUnit? E o que é a anotação JUnit?
O JUnit é uma estrutura de teste de aplicativos Java de software livre, introduzida pelo Apache. Um processo de adicionar uma forma especial de metadados sintáticos ao código-fonte Java é chamado de anotação. Anotações JUnit são: variáveis, parâmetros, pacotes, métodos e classes.

51) O que é o TestNG e por que é melhor que o JUnit?
O TestNG é um framework de testes inspirado no JUnit e no NUnit, de maneira a usar os méritos tanto pelos desenvolvedores quanto pelos testadores. Aqui estão algumas novas funcionalidades que o tornam mais poderoso e fácil de usar, como:

  • teste que seu código é multithread safe
  • suporte para teste orientado a dados
  • suporte para parâmetros
  • uma variedade de ferramentas e suporte a plug-ins (Eclipse, IDEA, Maven, etc …)
  • funções JDK padrão para tempo de execução e logging
  • métodos dependentes para testes do servidor de aplicativos
  • configuração de teste flexível

52) o que tipos de  anotações está usado no TestNG?
Os tipos de anotações a seguir são usados em TestNG :

  • Teste
  • BeforeSuite
  • AfterSuite
  • BeforeTest
  • AfterTest
  • Antes da aula
  • Depois da aula
  • BeforeMethod
  • AfterMethod

53) Como definir a prioridade do caso de teste no TestNG?
TestNG “Priority” é usado para agendar os casos de teste. Para conseguir isso, precisamos adicionar uma anotação como @Test (priority = ??). O valor padrão será zero para prioridade. Se você não mencionar a prioridade, ela tomará todos os casos de teste como “prioridade = 0” e executará.

O exemplo abaixo mostra o uso da prioridade para casos de teste.

Como não definimos a prioridade para o caso de teste “Registration”, ele será executado primeiro e depois os outros casos de teste com base na prioridade.

 importar org.testng.annotations.Test;
public class testNGPriorityExample {
@Teste
public void registerAccount ()
{
System.out.println (“Criar uma conta”);
}
@Teste (prioridade = 2)
public void sendEmail ()
{
System.out.println (“Confirme seu email”);
}
@Teste (prioridade = 1)
login void público ()
{
System.out.println (“Executar login após confirmação”);
}
}

 importar org.testng.annotations.Test;
public class testNGPriorityExample {
@Teste
public void registerAccount () {
System.out.println (“Criar uma conta”);
}
@Teste (prioridade = 2)
public void sendEmail () {
System.out.println (“Confirme sua conta”);
}
@Teste (prioridade = 1)
public void login () {
System.out.println (“Executar login após confirmação”);
}
}

5 4 Explique como você pode encontrar imagens quebradas em uma página usando o driver da Web Selenium?
Você tem que seguir os próximos passos para encontrar imagens quebradas em uma página usando o driver da Web Selenium:

  • obtenha o XPath e obtenha todos os links na página usando o nome da tag
  • clique em cada link na página
  • procure por 404/500 no título da página de destino

55) Pode ser captcha  e leitor de código de barras  ser automatizado  usando selênio ?
Nenhum captcha, nenhum leitor de código de barras pode ser automatizado usando o Selenium.

56) Como verificar o texto da dica de ferramenta usando S elenium?
O texto da dica de ferramenta no Selenium pode ser verificado ao buscar o valor do atributo ‘title’. Um exemplo:

 Cadeia toolTipText = element.getAttribute (“title”); 

57) Como localizar um link usando seu texto em S elenium?
Texto do link()  e partialLinkText ()  são usados para o local do link.

Os exemplos:

 WebElement link1 = driver.findElement (By.linkText (“algum_link_teste”));
WebElement link2 = driver.findElement (By.partialLinkText (“algum_link_part_texto”));

58) C e encontramos todos os links em uma página da web?
Como todos os links são da tag âncora ‘a’, podemos encontrá-los em uma página da web localizando elementos de tagName ‘a’:

 Listar links = driver.findElements (By.tagName (“a”)); 

59) Como podemos capturar screenshots no Selenium?
Podemos tirar as capturas de tela em selênio usando o método getScreenshotAs de TakesScreenshot  interface:

 Arquivo scrFile = (driver (TakesScreenshot)) .getScreenshotAs (OutputType.FILE);
FileUtils.copyFile (scrFile, novo arquivo (“C: \\ captura de tela1.jpg”));

60) Explique como as cores podem ser manipuladas no Selenium WebDriver?
Para lidar com cores pode ser tratado no Selenium WebDriver usando Use getCssValue (arg0)  função para obter as cores, enviando “cor” string como um argumento.

61) Quantas exceções você conhece no Selenium WebDriver?
Existem 5 exceções diferentes Selenium WebDriver:

  • NoAlertPresentException,
  • NoSuchElementException
  • NoSuchWindowException
  • TimeoutException
  • WebDriverException

62) Como você vai usar o Selenium para fazer o upload de um arquivo?
A ação de upload de arquivos pode ser executada usando element.sendKeys ("caminho do arquivo")  na webElement de tag de entrada e arquivo de tipo: <name = "fileUpload" type = "file" />
63) O que é a API do robô?
A API do robô é usada para controlar o teclado ou o mouse para interagir com janelas do sistema operacional, como pop-up de download, alertas, pop-ups de impressão, etc. ou aplicativos nativos do sistema operacional, como o Bloco de Notas, o Skype, a Calculadora etc.

64) Quais métodos de Robot Class você conhece?
Alguns métodos comumente e popularmente utilizados da Robot Class durante a automação da web:

  • pressione o botão(): método com pressione a tecla de seta para baixo do teclado

Exemplo:

 keyPress (KeyEvent.VK_DOWN) 

  • keyRelease (): método com a tecla de seta para baixo do teclado:

Exemplo:

 robot.keyRelease (KeyEvent.VK_DOWN) 

  • mouseRelease () método irá liberar o botão direito do mouse

Exemplo:

 mouseRelease (InputEvent.BUTTON3_DOWN_MASK) 

  • mouseMove ()  O método moverá o ponteiro do mouse para as coordenadas X e Y especificadas.

Exemplo:

 robot.mouseMove (point.getX (), point.getY ()) 

  • mousePress ()  método irá pressionar o botão direito do mouse.

Exemplo:

 robot.mousePress (InputEvent.BUTTON3_DOWN_MASK) 

65) Como executar o JavaScript no Selenium?
JavaScriptExecuter  é usado para execução de JavaScript no Selenium.

Um exemplo simples:

 Driver do WebDriver = novo FireFoxDriver ();
if (instância do driver de JavascriptExecutor) {
((JavascriptExecutor) driver) .executeScript (“{código JavaScript}”);
}

66) Qual pacote pode ser importado durante o trabalho com o WebDriver?
org.openqa.selenium java -cp bin; jars / * org.testng.TestNG testng.xml
Você pode obter a largura da caixa de texto usando o seguinte comando:

67) Como você obter a largura da caixa de texto?

 driver.findElement (por.xpath (“xpath of textbox”)). getSize (). getWidth ();
driver.findElement (By.xpath (“xpath of textbox”)). getSize (). getHeight ()

68) Qual implementação de driver da web é a mais rápida?
O mais rápido WebDriver  é HtmlUnitDriver . Diferente de outros drivers (FireFoxDriver, ChromeDriver etc), é não-GUI, enquanto executa nenhum navegador é iniciado.

69) Qual é o objetivo do método deSelectAll ()?
Ele é usado para desmarcar todas as opções selecionadas na lista suspensa.

70) H Como você pode voltar de um quadro?
defaultContent ()  método é usado para voltar de um quadro.

71) Como fazer login em qualquer site se ele estiver mostrando algum pop-up de autenticação para nome de usuário e senha?
Você deve passar o nome de usuário e senha com o URL:

https: // nome de usuário: senha @ url

https: // creds: [email protected]

72) O que é propósito do método getOptions ()?
getOptions ()  é usado para obter a opção selecionada na lista suspensa.

73) Qual é a diferença entre getWindowHandles () e getWindowHandle ()?
Você pode obter o endereço do navegador usando esses comandos. Mas se você usar getWindowHandle (), obterá o endereço do navegador atual no qual o controle está e o tipo de retorno será uma string. Portanto, se você usar getWindowHandles (), obterá o endereço de todo o navegador aberto e seu tipo de retorno será um iterador.

74) Explique como você pode usar o cenário de recuperação com o Selenium?
Você pode usar o cenário de recuperação de acordo com a linguagem de programação.

Se for Java, você poderá usar o tratamento de exceções para superar o mesmo.

75) Como você envia chaves ENTER / TAB no WebDriver?
usar clique()  ou métodos submit () são usados para ENTER. Mas não se esqueça disso enviar()  o método é usado somente se type = ‘submit’.

Você pode usar a classe Actions act.sendKeys (Keys.ENTER)  para TAB.

76) Como lidar com alertas no Selenium WebDriver?
Aqui estão alguns métodos de manipulação de alertas que são amplamente utilizados no Selenium Webdriver.

  • void demitir () é usado para clicar no botão ‘Cancelar’ do alerta.

 driver.switchTo (). alert (). dismiss (); 

  • void accept () é usado para clicar no botão ‘OK’ do alerta.

 driver.switchTo (). alert (). aceitar (); 

  • String getText ()  é usado para capturar a mensagem de alerta.

 driver.switchTo (). alert (). getText (); 

  • void sendKeys (String stringToSend) é usado para enviar alguns dados para a caixa de alerta.

 driver.switchTo (). alert (). sendKeys (“Texto”); 

77) O que é um framework orientado a dados?
A estrutura de design de teste Data Driven segue um paradigma de design em que a lógica de teste é fixa, mas varia os dados de teste. Os dados em si podem estar em repositórios diferentes, como um simples arquivo .csv, arquivo .json ou .xls, ou banco de dados, e podem adicionar os testes apenas atualizando esses arquivos externos ou DB (em vez de colocar o próprio código de teste).

78) O que é um framework baseado em palavras-chave?
A estrutura orientada por palavras-chave é uma metodologia em que ações ou etapas são tratadas como palavras-chave. Essas palavras-chave (como clicar, mover, digitar etc.) são armazenadas em alguns repositórios externos, exatamente como os dados (em .csv / .json / .xls / DB).

79)  O que é o híbrido estrutura?
A combinação de estrutura orientada por dados e orientada por palavras-chave é chamada de híbrida. Aqui as operações / instruções / palavras-chave em um repositório separado (.csv / .xls / .json / DB) e os dados estão separados (.csv / .xls / .json / db do provedor de dados) e os testes / driver seriam lidos ambos e executar os testes reais automaticamente. Nesse design, obtemos o melhor das duas metodologias e é um pouco prático na maioria dos casos de automação.

80) Quais são as principais vantagens do Selenium Grid?
O Selenium Grid tem as seguintes vantagens: testes em vários navegadores, execução de casos de testes paralelos, testes em várias plataformas.

81) O que é um hub no Selenium Grid?
O hub do Selenium Grid é um ponto central ou um servidor que controla as execuções de teste nas diferentes máquinas.

82) O que é um nó no Selenium Grid?
O nó Selenium Grid é uma máquina conectada ao hub, que possui instâncias executando os scripts de teste. Ao contrário de um hub, pode haver mais de um nó no Selenium Grid.

83) Você poderia explicar a linha de código Webdriver driver = new FirefoxDriver () ;.
‘WebDriver’ é uma interface e estamos criando um objeto do tipo WebDriver instanciando um objeto da classe FirefoxDriver.

84) Qual é o propósito de criar uma variável de referência – ‘driver’ do tipo WebDriver em vez de criar diretamente um objeto FireFoxDriver ou qualquer outra referência de driver na instrução Webdriver driver = new FirefoxDriver () ;?
Podemos usar a mesma variável para trabalhar com vários navegadores, como o ChromeDriver, o IEDriver, criando uma variável de referência do tipo WebDriver.

85) Como você pode criar um relatório de teste HTML a partir do seu script de teste?
Existem três formas de criação de relatórios de teste HTML:

  • usando inbuilt default.html para obter o relatório HTML no TestNG
  • com a ajuda do ANT no JUnit
  • usando jar XSL para converter conteúdo XML para HTML em relatórios personalizados próprios

86) Qual poderia ser a causa do teste Selenium WebDriver falhar?
Existem algumas causas de falha no teste Selenium WebDriver:

  • Elemento seleniumWebDriver esperando para acessar não apareceu na página da web e a operação expirou
  • SeleniumWebDriver está tentando acessar o elemento não criado
  • O SeleniumWebDriver não consegue localizar o elemento, porque o localizador foi alterado

87) Explique como você pode depurar os testes no Selenium IDE?
Os testes podem ser depurados de tal maneira:

  • inserir um ponto de quebra a partir do local de onde você deseja executar o teste passo a passo
  • execute o caso de teste
  • a execução do caso de teste será pausada no ponto de interrupção fornecido
  • clique no botão azul para continuar com a próxima declaração
  • para continuar a executar todos os comandos de cada vez, clique no botão “Executar”

88) O que é o arquivo testng.xml usado para ?
O arquivo testng.xml é usado para configurar todo o conjunto de testes. Aqui podemos criar um conjunto de testes, criar grupos de teste, marcar testes para execução paralela, adicionar ouvintes e passar parâmetros para testar scripts. Ele pode ser usado para o acionamento adicional do conjunto de testes.

  89) Qual é a diferença entre a anotação @Factory e @DataProvider?
@DataProvider  preocupa-se com métodos de teste individuais e executa os métodos específicos por muitas vezes. @Fábrica  O método cria instâncias de classe de teste e executa todos os métodos de teste nessa classe com dados diferentes. conjuntos.

90) Em qual formato a exibição da fonte mostra  a  script em Selenium IDE?
O script é mostrado pela exibição da fonte Selenium IDE no formato XML.

91) Como o AJAX poderia controlar estar lidar com d  no WebDriver?
O AJAX permite que a página da Web recupere pequenas quantidades de dados do servidor sem recarregar a página inteira.

Os diferentes métodos de espera devem ser aplicados para testar o aplicativo Ajax:

  • ThreadSleep
  • Espera Implícita
  • Espera Explícita
  • WebdriverWait
  • Espera Fluente

92) O que é o FirefoxDriver, classe ou interface? E qual interface ele implementa?
O FirefoxDriver é uma classe Java. Ele implementa todos os métodos disponíveis na interface.

93) Como podemos tornar um método de teste dependente de outro usando o TestNG?
Podemos fazer com que um método de teste seja executado somente após a execução bem-sucedida do método de teste dependente usando o parâmetro dependsOnMethods dentro da anotação @Test no TestNG: @Test (dependsOnMethods = {“preTests”}})

94) Como você pôde e xplain a principal diferença entre W eb D rio e RC?
O Selenium WebDriver conduz o navegador usando suporte integrado. O RC injeta a função JavaScript nos navegadores quando a página é carregada.

95) O que é o IntelliJ?
O IntelliJ é um IDE que ajuda os usuários a escrever código para o Selenium melhor e mais rápido. Pode ser usado como uma opção para o Java bean e o Eclipse.

96) W Hat são as vantagens de usar o Git Hub para selênio ?

  • Os membros da equipe de várias pessoas que trabalham no mesmo projeto podem atualizar seus detalhes e informar outros membros da equipe simultaneamente
  • Você pode construir o projeto do repositório remoto regularmente usando o Jenkins. Isso ajuda você a acompanhar as construções com falha.

97) Podemos usar o Selenium RC? para  testes driv ing  em dois navegadores diferentes em um sistema operacional sem grade de selênio?
Podemos fazer isso se a estrutura de testes JAVA não for usada. Se usarmos o driver cliente Java do Selenium, em vez de usar a estrutura de testes Java, o TestNG nos permite não usar o Selenium Grid.

98) Como podemos executar casos de teste em paralelo usando o TestNG?
Você deve apenas adicionar esses dois pares de valores-chave no conjunto para executar os testes em paralelo:

parallel = "{methods / tests / classes}"thread-count = "{número de tópicos que você deseja executar simultaneamente}".

99) H ow você testaria seu próprio localizador de elementos ?
“Encontrar botão”  de Selenium IDE é usado para testar o localizador. Ao clicar neste botão, você verá na tela se o localizador de elementos está certo ou errado.

Além disso, você cum uso“FirePath” plugin no FireFox
100) W quando AutoIT é  usar d?
O AutoIT é usado para manipular janelas pop-up e não-HTML no aplicativo.

101) W A API do Hat é necessária f ou testes de banco de dados no Selenium Web D rio ?

A API JDBC (Java Database Connectivity) é requeridos f ou testes de banco de dados no Selenium Web D rio .
  102)  Qual API Java é necessária para gerar relatórios em pdf?

O IText da API Java é necessário para gerar relatórios em pdf.

103) Explicar Por que escolher o Python sobre Java no Selenium? .
Aqui estão alguns pontos que favorecem o Python sobre Java para usar com o Selenium:

  • Python é mais simples e mais compacto comparado ao Java
  • Java usa chaves tradicionais para iniciar e finalizar blocos, enquanto o Python usa recuo
  • Java emprega tipagem estática, enquanto Python é digitado dinamicamente
  • Programas Java tendem a rodar mais lentamente em comparação com programas Python

104) H ow você pode lidar com latência de rede u cantar Selênio?
Você pode usar driver.manage (). timeouts (). pageLoadTimeout (); para latência de rede

105) H Como você pode executar o Selenium Server? o que a porta padrão 4444?
Servidor selênio pode ser executado no java-jar selenium-server.jar-port diferente de sua porta padrão.

106) Explique como você pode capturar o servidor do Selenium do log do lado do servidor?
Para capturar o log do servidor no Selenium Server, você pode usar o comando: java –jar .jar –log selenium.log

107) W O Hat é um framework e quais são os frameworks disponíveis no RC?
A estrutura é uma coleção de bibliotecas e classes para ajudar os testadores a automatizar os casos de teste. Testes de unidade NUnit, JUnit, TestNG, Bromo, RSpec, são alguns dos frameworks disponíveis no RC.

108) Explain how can you insert a start point in Selenium IDE?
Selenium IDE can be set in two ways:

  • in Selenium IDE right click on the command and the select  “Set / Clear Start Point”
  • press “S” key on the keyboard and select the command in Selenium IDE

109) What are the two modes of views in Selenium IDE?
Selenium IDE can be opened as a pop-up window or in side bar

110) What is Object Repository ?
Object repository is an essential entity in any UI automation which allows a tester to store all object that will be used in the scripts in one or more centralized locations rather than scattered all over the test scripts.