Está en la página 1de 13

LAS 50 PREGUNTAS Y RESPUESTAS MÁS POPULARES DE

SELENIUM

1) ¿Qué es Automation testing (pruebas de automatización)?


Automation testing o Test Automation es un proceso de
automatización del proceso manual para probar la aplicación o poner
el sistema bajo prueba. La prueba de automatización implica usar una
herramienta de prueba separada que le permite crear scripts de
prueba que pueden ejecutarse en forma repetida y no necesita
intervención manual.
2) ¿Cuáles son los beneficios de las pruebas de automatización?
Beneficios de pruebas de automatización son:

1. Ayuda a comprobar una matriz grande de prueba


2. Activa la ejecución paralela.
3. Alienta el proceso de ejecución desatendida
4. Mejora la precisión y disminuye los errores que genera el hombre.
5. Permite el ahorro de Tiempo y dinero
6. Apoya la ejecución de casos de repetición de pruebas
3) ¿Por qué debería seleccionarse Selenium como herramienta de
prueba?
Selenium

1. Es gratis y open source (código abierto)


2. Por tener una  base de usuarios grande y ayudar a las comunidades.
3. tiene compatibilidad entre varios navegadores como: (Explorer,
Chrome, Internet, Firefox Safari, etc.)
4. Tiene  gran compatibilidad de plataforma como:(Windows,  Linux, etc.)
5. soporta múltiples lenguajes de programación (Mac OS, Linux, Java, C
#, Ruby, Windwos, Python, Pearl, etc.)
6. Tiene desarrollos de repositorio nuevo y regular.
7. Soporta muchas pruebas distribuidas
4) ¿Qué es Selenium? ¿Cuáles son los diferentes componentes
de Selenium?
Selenium es una de las suites de pruebas automatizadas muy
populares,  diseñado para soportar y fomentar las pruebas de
automatización, de aspectos funcionales de aplicaciones que se basan
en la web, y una amplia gama de navegadores y plataformas.  Existe
en la comunidad de código abierto, convertida en herramienta muy
aceptada entre los profesionales de pruebas.

Selenium no es solo una herramienta sino un paquete de varias


herramientas de prueba, por ello, se lo llama Suite. Cada herramienta
está diseñada para satisfacer distintas pruebas y requisitos de entorno
de prueba.

El paquete de la suite contiene los siguientes conjuntos de


herramientas:

 Selenium Integrated Development Environment (IDE) : Selenium


IDE  u herramienta de grabación y reproducción. Se distribuye como
complemento de Firefox.
 Selenium Remote Control (RC): Selenium RC  un servidor que
permite a un usuario crear scripts de prueba en cualquier lenguaje de
programación, que permite ejecutar scripts de prueba, dentro de
cualquier  navegador.
 Selenium WebDriver – WebDriver:  herramienta  distinta a las otras,
tiene varias ventajas sobre Selenium RC. WebDriver se comunica en
forma directa con el navegador web y usa su compatibilidad nativa
para automatizar.
 Selenium Grid : se usa para distribuir su ejecución de prueba en
muchas plataformas y entornos simultáneamente.
5) ¿Cuáles son los tipos de prueba que puede soportar Selenium?
Selenium soporta:

1. Las pruebas funcionales


2. Las pruebas de regresión
6) ¿Cuáles son las limitaciones de Selenium?
Limitaciones de Selenium:

 Admite pruebas de aplicaciones que se basan únicamente en la web


 Las aplicaciones móviles, son imposibles de probar usando Selenium
 Lectores de Captcha y Código de barras no pueden ser probados con
Selenium
 Los informes  se pueden generar usando sólo herramientas de
terceros como TestNG o JUnit.
 Selenium es una herramienta gratuita, no hay proveedor de soporte
para que el usuario pueda ubicar muchas comunidades de ayuda.
 El usuario debe poseer conocimientos previos de lenguaje de
programación.
7) ¿Cuál es la diferencia entre Selenium IDE, Selenium RC y
WebDriver?
Característi Selenio
Selenio RC WebDriver
ca IDE
admite
viene como admite varias
muchas
un versiones de Firefox,
versiones
complemen Internet Google
de Firefox,
Compatibilid to de Chrome, Mozilla
Opera.
ad del Firefox, Explorer y Opera.
Google
navegador solo es es compatible también
Chrome,
compatible con HtmlUnitDriver,
Mozilla
con el navegador sin GUI o
Internet y
mismo. sin interfaz.
Explorer
no admite
admite
la función
función de no admite la función
Grabar y de
grabación y de grabación y
reproducir grabación y
reproducció reproducción
reproducció
n
n.
Característi Selenio
Selenio RC WebDriver
ca IDE
no requiere
Necesita
iniciarse
que el
ningún no necesita que se
servidor se
Requisito servidor inicie ningún servidor
inicie antes
del servidor antes de antes de ejecutar los
de ejecutar
ejecutar los scripts de prueba
los scripts
scripts de
de prueba.
prueba
un un utiliza la
framework Framework compatibilidad nativa
Arquitectura
basado en basado en del navegador con la
Javascript JavaScript. automatización
no es herramienta
herramienta
Orientado a herramienta semi
solamente orientada a
objetos orientada a orientada a
objetos.
objetos objetos.
Buscadores
dinámicos
(para no soporta no soporta
soporta buscadores
localizar buscadores buscadores
dinámicos
elementos dinámicos dinámicos.
web en una
página web)
no
no
proporciona
proporciona
explícitame ofrece utilidades y
ayudas
Manejo de nte ayudas clases que ayudan a
para
Alertas, para manejar navegadores
manejar
Navegacion manejar alertas, y menús
alertas,
es, alertas, desplegables de
navegacion
Dropdowns. navegacion manera eficiente y
es, menús
es, menús efectiva.
desplegable
desplegable
s
s.
Pruebas no admite no admite diseñado de manera
Característi Selenio
Selenio RC WebDriver
ca IDE
que sea compatible
con las pruebas de
aplicaciones iPhone /
la prueba la prueba Android. La
WAP de de herramienta viene con
(iPhone / aplicacione aplicacione muchoscontroladores
Android) s iPhone / s iPhone / para pruebas basadas
Andriod Android. en WAP.
Por ejemplo,
AndroidDriver,
iPhoneDriver
Apoyo del no soporta no soporta apoya el implemento
oyente oyentes oyentes. de Listeners
es  lento,
es rápido, no se
conectado comunica
con el directament
navegador e con el
web que navegador; se comunica
inicia la envía directamente con los
Velocidad prueba,  el 'comandos navegadores web. 
IDE y el selenese' a Haciéndolo mucho
navegador Selenium más rápido.
se Core, que a
comunican su vez se
directament comunica
e. con el
navegador.
8) ¿Cuándo debo usar Selenium IDE?
Selenium IDE, la herramienta  simple y sencilla del paquete Selenium.
Su función de grabación y reproducción, son fácil de aprender sólo
necesitas mínimo conocimiento de cualquier lenguaje de
programación.  Es una herramienta ideal para un usuario ingenuo.
9) ¿Qué es Selenese?
Selenese es el lenguaje usado para escribir scripts de prueba en
Selenium IDE.
10) ¿Cuáles son los diferentes tipos de localizadores en
Selenium?
Diferentes tipos de localizadores en Selenium:

 ID
 ClassName
 Name
 TagName
 LinkText
 PartialLinkText
 Xpath
 CSS Selector
 DOM
11) ¿Cuál es la diferencia entre los comandos de afirmar y
verificar?
Assert: Assert command comprueba si la condición dada es
verdadera o falsa.

Verify: el comando verifica si la condición dada es verdadera o falsa y


sin importar  cual sea, la ejecución del programa no se detiene, o sea,
cualquier falla mientras dure la verificación no va a parar la ejecución y
se ejecutarán todos los pasos de prueba.
12) ¿Qué es un XPath?
XPath: significa Extensible Markup Language y se utiliza para
almacenar, organizar y transportar datos arbitrarios, en un par clave-
valor, muy similar a las etiquetas HTML.  También es usado para
localizar un elemento web que este basado en su ruta XML. XML.

El elemento esencial detrás de la ubicación de los elementos que usa


XPath, es el desplazamiento entre varios elementos en toda la página
y, por lo que, permite al usuario conseguir un elemento con la
referencia de otro elemento.
13) ¿Cuál es la diferencia entre “/” y “//” en Xpath?
Slash único “/”: la barra única es usada para crear Xpath con una
ruta absoluta, es decir, la ruta se crea para comenzar la selección
desde el nodo de documento / inicio.

Slash Doble “//”: la barra doble se usa para crear Xpath con una ruta
relativa, es decir, la ruta se crea para comenzar la selección desde
cualquier lugar dentro del documento.
14) ¿Cuál es la política de Same Origin y cómo se puede manejar?
 La  política de origen no permite acceder al DOM de un documento
desde un origen que sea distinto del origen al que intentamos entrar.

Origin es una combinación secuencial de esquema, host y puerto de la


URL.

Por ello, el Selenium Core (Programa JavaScript) no puede entrar a


los elementos desde un origen que sea distinto donde se lanzó

Entonces, para manejar la misma política de origen, se introdujo


Selenium Remote Control.
15) ¿ Cuándo debo usar Selenium Grid?
Selenium Grid se usa para ejecutar scripts de prueba iguales o
diferentes en muchas plataformas y navegadores simultáneamente
con el fin de lograr una ejecución de prueba distribuida, realizar
pruebas en distintos entornos y ahorrar un tiempo de ejecución
notable.
16) ¿A qué se refieren selenium 1 y selenium 2?
Selenium RC y WebDriver en combinación se les conoce
popularmente como Selenium 2. El Selenium RC solo es conocido
como Selenium 1.
17) ¿Cuál es la última herramienta de Selenium?
WebDriver
18) ¿Cómo ejecuto el navegador usando WebDriver?
Se puede usar la siguiente sintaxis, para iniciar el navegador:

WebDriver driver= new FirefoxDriver ();


WebDriver driver= new ChromeDriver ();
WebDriver driver= new InternetExplorerDriver ();
19) ¿Cuáles son los diferentes tipos de controladores disponibles
en WebDriver?
Controladores disponibles en WebDriver son:

 InternetExplorerDriver
 ChromeDriver
 SafariDriver
 OperaDriver
 AndroidDriver
 IPhoneDriver
 Firefox
 FirefoxDriver
 HtmlUnitDriver
20) ¿Cuáles son los diferentes tipos de esperas disponibles en
WebDriver?
1.-Espera implícita (implicit wait): se usan para suministrar un
tiempo de espera predeterminado (ejemplo, 30 segundos) entre cada
paso / comando de prueba consecutivo en todo el script de prueba.
Por lo que, el siguiente paso de prueba  se ejecuta cuando haya
transcurrido el tiempo de 30 segundos, después de ejecutar el
comando / paso de prueba anterior.

Espera explícita (explicit wait): se usa para detener la ejecución


hasta el momento en que se cumple una condición particular o ha
transcurrido el tiempo máximo. Las esperas explícitas son aplicables
solo para una instancia en particular.
21) ¿Cómo escribir en un cuadro de texto usando Selenium?
El usuario puede usar sendKeys ("Cadena a ingresar") para escribir en
el cuadro de texto.

Sintaxis: 
WebElement username = drv.findElement(By.id(“Email”));
// insertar usuario
username.sendKeys(“sth”);
22) ¿Cómo puedes encontrar si un elemento se muestra en la
pantalla?
WebDriver  permite al usuario, utilizar varios métodos para verificar la
visibilidad de los elementos web. Estos elementos web pueden ser
botones, drop boxes, checkboxes, botones de radio, etiquetas, etc.

1. isDisplayed()
2. isSelected()
3. isEnabled()
Sintaxis:

isDisplayed():
boolean buttonPresence =
driver.findElement(By.id(“gbqfba”)).isDisplayed();
isSelected():
boolean buttonSelected =
driver.findElement(By.id(“gbqfba”)).isSelected();
isEnabled():
boolean searchIconEnabled =
driver.findElement(By.id(“gbqfb”)).isEnabled();
23) ¿Cómo podemos obtener un texto de un elemento web?
El comando Get se usa para recuperar el texto interno del elemento
web especificado. El comando no requiere ningún parámetro pero
devuelve un valor de cadena. También es uno de los comandos más
utilizados para la verificación de mensajes, etiquetas, errores, etc. que
se muestran en las páginas web.

Sintaxis: 

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


24) ¿Cómo se selecciona un valor en un menú desplegable?
El valor en el menú desplegable se puede seleccionar usando la clase
Select de WebDriver.

Sintaxis:

selectByValue:
Select selectByValue = new
Select(driver.findElement(By.id(“SelectID_One”)));
selectByValue.selectByValue(“greenvalue”);
selectByVisibleText:
Select selectByVisibleText = new Select
(driver.findElement(By.id(“SelectID_Two”)));
selectByVisibleText.selectByVisibleText(“Lime”);
selectByIndex:
Select selectByIndex = new
Select(driver.findElement(By.id(“SelectID_Three”)));
selectByIndex.selectByIndex(2);
25) ¿Cuáles son los diferentes tipos de comandos de
navegación?
Los siguientes son los comandos de navegación :

navigate().back() : el comando anterior no requiere parámetros y lleva


al usuario a la página web anterior en el historial del navegador web.

Código de ejemplo: 

driver.navigate().back();
navigate().forward() : este comando le permite al usuario navegar a la
siguiente página web con referencia al historial del navegador.

Código de ejemplo: 

driver.navigate().forward();
navigate().refresh(): este comando le permite al usuario actualizar la
página web actual allí recargando todos los elementos web.
Código de ejemplo: 

driver.navigate().refresh();
navigate().to() : este comando le permite al usuario iniciar una nueva
ventana del navegador web y navegar a la URL especificada.

Código de ejemplo: 

driver.navigate().to(“https://google.com”);
26) ¿Cómo se hace clic en un hipervínculo utilizando linkText?
driver.findElement(By.linkText(“Google”)).click();
El comando encuentra el elemento usando el texto del enlace y luego
hace clic en el elemento y, por ello, el usuario será redirigido a la
página correspondiente.

De igual manera,  se puede entrar al enlace mencionado mediante el


siguiente comando.

driver .findElement (By.partialLinkText ( "Goo" )). click ();


El comando anterior encuentra el elemento basado en la subcadena
del enlace provisto entre paréntesis y, por lo tanto, partialLinkText ()
consigue el elemento web con la subcadena especificada y luego hace
clic en él.
27) ¿Cómo se manejan los frames en WebDriver ?
Un frame (marco) como por ejemplo un iframe se usa para introducir
otro documento dentro del documento HTML actual o en una página
web habilitando el anidamiento.

Seleccione iframe por id 

driver .switchTo (). Frame ( " ID del marco " );


Localización del iframe usando tagName 
driver.switchTo (). Frame (driver.findElements (By.tagName ("iframe").
Get (0));
Localización de iframe usando el Index

frame (index) 

driver.switchTo (). frame (0);


frame (Nombre del frane) 

driver.switchTo (). frame (“nombre del cuadro”);


frame (elemento WebElement) 

Seleccionar ventana principal (parent window)

driver.switchTo (). defaultContent ();


28) ¿Cuándo se debe usar findElement() y findElements()?
findElement(): La usamos para conseguir el primer elemento en la
página web actual que coincida con el valor del localizador
especificado. Tome en cuenta que solo se buscará el primer elemento
coincidente.

Sintaxis:

Elemento WebElement = controlador .findElements (By.xpath ( “// div


[@ id = 'example'] // ul // li” ));
findElements (): findElements () se usa para encontrar todos los
elementos en la página web actual que coinciden con el valor del
localizador especificado. Tome nota de que todos los elementos
coincidentes se buscarán y almacenarán en la lista de WebElements.

Sintaxis: 

List <WebElement> elementList = driver .findElements (By.xpath ( “//


div [@ id = 'example'] // ul // li” ));
29) ¿Cómo se puede encontrar más de un elemento web en la
lista?
Mediante una sola pieza de código. Se puede encontrar elementos del
mismo tipo, como imágenes,  hipervínculos múltiples, etc.,
organizados en una lista ordenada o desordenada. Por lo que, tiene
sentido tratar con dichos elementos con un solo fragmento de codigo
usando WebElement List.

Código de muestra:

// guardando la lista
List <WebElement> elementList =
driver.findElements(By.xpath("//div[@id='example']//ul//li"));
// tamaño de la lista
int listSize = elementList.size();
for (int i=0; i<listSize; i++)
{
// hacer click en cada link de servicio de proveedor
serviceProviderLinks.get(i).click();
// navegar a la pagina anterior que guarda los link de los proveedores
de servicios
driver.navigate().back();
}
30) ¿Cuál es la diferencia entre el comando driver.close () y el
driver.quit?
close () : el método close () de WebDriver cierra la ventana del
navegador web en la que el usuario trabaja actualmente, o se puede
decir, la ventana a la que está entrando actualmente el WebDriver. El
comando no necesita ningún parámetro ni devuelve ningún valor.

quit () :el método quit () cierra todas las ventanas que el programa ha
abierto. Sin embargo, al igual que el método close (), el comando no
necesita ningún parámetro ni lo hace es devolver ningún valor.

También podría gustarte