Capacidades deseadas en Selenium Controlador web
⚡ Resumen inteligente
Capacidades deseadas es una Selenium clase que almacena la configuración del navegador, la plataforma y el dispositivo como pares clave-valor, lo que permite que un único conjunto de pruebas abarque muchos entornos. Selenium Redes computacionales, redes en la nube y automatización móvil.
¿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.
Nota de versión: Selenium 4 reemplaza DesiredCapabilities con las clases de opciones del navegador — ChromeOptions, FirefoxOptions, EdgeOptions, InternetExplorerOptions. Los ejemplos que aparecen a continuación conservan la sintaxis original.
¿Por qué necesitamos las capacidades deseadas?
Se necesitan las capacidades deseadas 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 Desired Capabilities nos ayuda a indicarle al WebDriver qué entorno vamos a utilizar en nuestro script de prueba.
El método setCapability de la clase DesiredCapabilities, que se explica en la parte posterior de esta página, se puede utilizar en Selenium Cuadrícula. Se utiliza para realizar una ejecución paralela en diferentes configuraciones de máquina.
Ejemplo: Cuadrícula (mostrada a continuación).
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 del Caso 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.
El ejemplo del emulador que se muestra a continuación indica que la plataforma está configurada como Android y que la versión de la plataforma es Ice Cream 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 Utilizamos Grid cuando queremos ejecutar los casos de prueba en un navegador diferente con sistemas operativos y versiones diferentes.
Tipos de métodos de capacidades deseadas
Aquí veremos los diferentes métodos de Capacidades Deseadas y cómo usar uno de ellos, el 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()
El 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 aplicación). Android aplicación bajo prueba), Actividad de la aplicación (en Android) y appPackage (en Java).
“método setCapability” en 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 el sitio web www.gmail.com usando Selenium Controlador web.
A continuación se muestra 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:
Se producirá el siguiente error cuando se ejecute el código anterior. El error se produce porque no se ha configurado la ruta al controlador del navegador (IE en el caso anterior). No se pudo localizar el navegador. 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.
La 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 del controlador mediante el método System.setProperty. Este método se utiliza para configurar el controlador de Internet Explorer con la propiedad webdriver. Ayuda a localizar el archivo ejecutable del controlador, que se encuentra en la ubicación del sistema. (Ejemplo: "C:\UbicaciónDelControladorIE\IEDriver.exe")
Nota de versión: Selenium 4.6 y posteriores resuelven el controlador automáticamente a través de Selenium Administrador, por lo que System.setProperty es opcional. El código histórico que aparece a continuación no ha sufrido cambios.
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(); } }
Code Explicación:
En el código de arriba,
- Las declaraciones de importación importan los paquetes necesarios para el Selenium WebDriver, los paquetes necesarios para el controlador de Internet Explorer y los paquetes para las funcionalidades 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.
- El método setProperty se utiliza para establecer la ruta donde se encuentra el controlador. A continuación, WebDriver localiza el controlador necesario.
- Gmail El sitio web se abre en el navegador Internet Explorer utilizando el método "get".
Salida:
El caso de prueba en el navegador Internet Explorer se ejecutará correctamente utilizando Selenium Controlador web.


