Capacidades deseadas en Selenium Controlador web

¿Qué son las capacidades deseadas?

Capacidades deseadas es una clase en Selenium se utiliza para establecer propiedades de los navegadores para realizar pruebas de aplicaciones web entre navegadores. Almacena las capacidades como pares clave-valor y estas capacidades se utilizan para configurar propiedades del navegador como el nombre del navegador, la versión del navegador, la ruta del controlador del navegador en el sistema, etc. para determinar el comportamiento del navegador en tiempo de ejecución.

  • La capacidad deseada también se puede utilizar para configurar la instancia del controlador de Selenium Controlador web.
  • Podemos configurar la instancia del controlador como FirefoxDriver, ChromeDriver, InternetExplorerDriver utilizando las capacidades deseadas.

¿Por qué necesitamos las capacidades deseadas?

Capacidades deseadas son necesarios porque cada Pruebas El escenario debe ejecutarse en algún entorno de prueba específico. El entorno de prueba puede ser un navegador web, Móvil dispositivo, emulador móvil, simulador móvil, etc. La clase de capacidades deseadas nos ayuda a indicarle al controlador web qué entorno vamos a utilizar en nuestro script de prueba.

La método setCapability de la Clase DesiredCapabilities, que se explica en la later parte del tutorial, se puede utilizar en Selenium Red. Se utiliza para realizar una ejecución paralela en diferentes configuraciones de máquina.

Ej: cuadrícula

Capacidades deseadas en Selenium Controlador web

Se utiliza para configurar las propiedades del navegador (por ejemplo, Chrome, IE), el nombre de la plataforma (por ejemplo, Linux, Windows) que se utilizan durante la ejecución de los casos de prueba.

En el caso de la automatización móvil, a medida que realizamos las pruebas en diferentes variedades de dispositivos móviles, la Plataforma Móvil (ej. iOS, Android) Versión de plataforma (Ej. 3.x, 4.x en Android) se puede ajustar.

Capacidades deseadas en Selenium Controlador web

El ejemplo de emulador anterior muestra el conjunto de plataformas que es android y el conjunto de versiones de plataforma que es IceCream Sandwich (4.x).

Las capacidades deseadas son más útiles en casos como:

  • En la automatización de aplicaciones móviles, donde se pueden configurar las propiedades del navegador y las propiedades del dispositivo.
  • In Selenium grid cuando queremos ejecutar los casos de prueba en un navegador diferente con diferentes operaSistemas de encendido y versiones.

Tipos de métodos de capacidades deseadas

Aquí veremos un tipo diferente de métodos de capacidades deseadas y veremos cómo usar uno de este método "Método setCapability”.

#1) obtenerNombredelNavegador()

public java.lang.String getBrowserName()

# 2) establecer nombre del navegador ()

public void setBrowserName(java.lang.String browserName)

#3) obtenerVersión()

public java.lang.String getVersion()

#4) establecerVersión()

public void setVersion(java.lang.String version)

#5) obtenerPlataforma()

public Platform getPlatform()

#6) establecerPlataforma()

public Platform setPlatform()

#7) Método getCapability()

El método getCapability() de la clase DesiredCapabilities se puede utilizar para obtener la capacidad que está en uso actualmente en el sistema.

public java.lang.Object getCapability(java.lang.String capabilityName)

#8) Método setCapability()

La método setCapability() de la clase Desired Capabilities se utiliza para establecer la propiedad de un entorno de prueba como el nombre del dispositivo, el nombre y la versión del sistema operativo, el nombre y la versión del navegador, la ruta absoluta de la aplicación bajo prueba (el archivo .apk de la Android aplicación bajo prueba), Actividad de la aplicación (en Android) y appPackage (en Java).

“método setCapability” in Java tiene las siguientes declaraciones:

setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability  :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability  :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability  :public void setCapability(java.lang.String key,java.lang.Object value)

Establecer capacidad en Selenium Ejemplo

Consideremos un ejemplo en el que queremos ejecutar nuestro Caso de prueba en el navegador Internet Explorer para abrir www.gmailsitio web .com usando Selenium Controlador web.

Following es el código.

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class IEtestforDesiredCapabilities {
  
 public static void main(String[] args) {
  
WebDriver driver = new InternetExplorerDriver();
 driver.manage().window().maximize();
 driver.get("http://gmail.com");
  
 driver.quit();
 }
  
}

Ahora ejecuta este código desde Eclipse y echa un vistazo a la consola.

Salida:

Tirará el siguientewing error cuando se ejecuta el código anterior. El error se produce porque la ruta al controlador del navegador (IE en el caso anterior) no está configurada. El navegador no pudo ubicarse selenium código.

The path to the driver executable must be set by the webdriver.ie.driver system property; formore information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list

Dec 11, 201212:59:43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib

WARNING: This method of starting the IE driver is deprecated and will be removed in selenium 2.26. Please download the IEDriverServer.exe from http://code.google.com/p/selenium/downloads/list and ensure that it is in your PATH.

Solución:

La solución al problema anterior se proporciona en la sección de advertencia del propio error.

  • Descargue el servidor independiente Internet ExplorerDriver para 32 o 64 bits.
  • Guarde el controlador en una ubicación adecuada del sistema.
  • Establezca la ruta para el controlador usando el Sistema.setProperty método.
  • Se utiliza para configurar el controlador IE con la propiedad webdriver. Ayuda a localizar el archivo ejecutable del controlador que está almacenado en la ubicación del sistema. (Ejemplo:”C:\IEDriverLocation\IEDriver.exe”)
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class IEtestforDesiredCapabilities {
  
 public static void main(String[] args) {

//it is used to define IE capability 
 DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
  
capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE");
capabilities.setCapability(InternetExplorerDriver.
  INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);


System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe");
  
 //it is used to initialize the IE driver
 WebDriver driver = new InternetExplorerDriver(capabilities);
  
 driver.manage().window().maximize();

 driver.get("http://gmail.com");
  
 driver.quit();
 }
  
}

Explicación del código:

En el código de arriba,

  • Las declaraciones de importación son para importar los paquetes requeridos para el selenium controlador web, paquetes necesarios para el controlador de Internet Explorer, paquetes para las capacidades deseadas.
  • setCapability toma las diversas capacidades como variables de entrada que luego utiliza el controlador web para iniciar la aplicación en el entorno deseado.
  • setProperty se utiliza para establecer la ruta donde se encuentra el controlador. Web Driver luego localiza el controlador requerido.
  • Gmail El sitio web se abre en el navegador Internet Explorer mediante el método "obtener".

Salida:

El caso de prueba en el navegador Internet Explorer se ejecutará correctamente utilizando Selenium Controlador web.

Conclusión

La clase Desired Capabilities ayudará a establecer un entorno para definir el comportamiento del navegador/entorno en el que se puede ejecutar la prueba.

Ayuda a iniciar nuestra aplicación en el entorno deseado teniendo las capacidades que deseamos utilizar.