Selenium Remote Control (RC), parte de una suite de herramientas del proyecto Selenium, es una infraestructura de pruebas automatizada para aplicaciones web. Selenium RC soporta varios lenguajes de programación y casi todos los navegadores. La ventaja más importante de Selenium RC es el método en el cual el navegador es impulsado. A diferencia de otras herramientas web de automatización de IU, Selenium RC impulsa el navegador mediante JavaScript, de forma que las pruebas no son interrumpidas por eventos del ratón. Los sujetos de pruebas pueden realizar otras tareas mientras se ejecutan las pruebas.
Selenium Grid extiende a Selenium RC al ejecutar pruebas en distintos servidores en paralelo. Reduce el tiempo, y subsecuentemente el costo, para realizar pruebas en varios navegadores bajo diversos sistemas operativos.
Las suites de herramientas de Selenium son proyectos de código abierto con guía y documentación formal limitadas, por lo que la curva de aprendizaje puede ser pronunciada. En este artículo, aprenda sobre la realización de pruebas con Selenium Grid (Versión 1.0.6), programando en Java y ejecutando con la infraestructura de pruebas TestNG.
Selenium Grid
Selenium Grid tiene dos componentes: Selenium Hub y Remote Control. El centro recibe solicitudes de las pruebas (igual que en Selenium RC), y después asigna controles remotos que son registrados en el centro para cada prueba.
Los sujetos de pruebas pueden ejecutar pruebas sin cambios de código en Selenium Grid. Todo el proceso es transparente; los sujetos de pruebas no necesitan conocer o preocuparse por la infraestructura real.
Si ya conoce Selenium RC, podrá ejecutar pruebas fácilmente con Selenium Grid. También puede ejecutar código existente en paralelo en diversas máquinas, lo que ahorra tiempo de ejecución de pruebas y rápidamente genera retroalimentación de los resultados de la prueba. Sin embargo, Selenium Grid por sí mismo no proporciona una estrategia de ejecución paralela. Si desea aprovechar Selenium Grid, necesita grabar sus pruebas de Selenium en modo paralelo.
Preparándose para usar Selenium Grid
Para comenzar a utilizar Selenium Grid, primero necesita descargarlo e instalarlo. Selenium Grid es una carpeta que contiene archivos de biblioteca JAR, archivos de ejemplo, archivos de Ant y otros archivos. Para ejecutar pruebas en Selenium Grid, necesitará:
- Ant, Versión 1.7 o posterior, que es utilizado para compilar, ensamblar, probar y ejecutar aplicaciones Java (descritas en los ficheros de construcción como puntos de extensión y objetivo).
- JDK 5+.
- Conocimiento básico de Selenium RC, ya que Selenium Grid está basado en Selenium RC. Los sujetos de pruebas deben saber cómo grabar y ejecutar pruebas utilizando Selenium RC.
El ejemplo en este artículo utiliza tecnología Java y TestNG como el lenguaje de programación y la infraestructura de pruebas. TestNG está diseñado para simplificar una amplia gama de necesidades de pruebas y para extender JUnit. )Un archivo simple de configuración de TestNG se muestra en Listado 1.
Listado 1. Archivo simple de configuración de TestNG
1
2
3
4
5
6
7
8
|
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> < suite name = "Suite1" parallel = "methods" thread-count = "2" > < test name = "Testcase20" > < classes > < class name = "com.test.workflow.device.testcase20" /> </ classes > </ test > </ suite > |
La etiqueta<suite>
puede representar un archivo XML de TestNG que contiene una o más pruebas. La etiqueta<test>
permite que una prueba contenga una o más clases de TestNG. La etiqueta<class>
significa que una clase de TestNG puede contener uno o más métodos de prueba. (Vea Recursos para obtener información más detallada sobre las etiquetas). El método de prueba es definido en los archivos Java, como se muestra en Listado 2:
Listado 2. Método de prueba definido en el archivo Java
1
2
3
4
5
|
@Test public void testMethod() { .... } |
Los sujetos de pruebas usan el lenguaje de programación Java y la infraestructura de pruebas para grabar scripts de prueba, y ejecutan clases de TestNG desde la línea de comando utilizando Ant. Echemos un vistazo a todo el proceso de ejecutar TestNG utilizando Ant.
- Ejecute
ant(nombre objetivo) [nombre del archivo de construcción]
en la línea de comando. - Ant lee el archivo build.xml para obtener los parámetros del proyecto, los archivos de importación, la definición de variable classpath, la definición objetivo, etc.
- Ant ajusta el código de origen Java con las clases de TestNG.
- Ant se enfoca en el objetivo a ejecutar y obtiene la configuración del objetivo.
- Lea el archivo de configuración de TestNG para obtener parámetros, el nombre de las clases de prueba, etc.
- Ejecute las clases de TestNG como fue configurado en el archivo de configuración de TestNG.
Te esperamos en los próximos artículos en donde hablaremos mas acerca de estos temas que hoy en día son de importancia e interés en el mundo de la tecnología.