Extensiones de núcleo de selenio (User-Extensions.js)

Tabla de contenido:

Anonim

Para comprender las extensiones, primero comprendamos los tres pilares del IDE de selenio

  1. Acción: qué operación está realizando en la pantalla de la interfaz de usuario

  2. Evaluadores / Afirmación: qué verificación hace en los datos que obtiene de la IU

  1. Estrategia del localizador: ¿Cómo podemos encontrar el elemento en la interfaz de usuario?

Ahora, Selenium IDE tiene una biblioteca muy madura con muchas acciones, afirmaciones / asesores y estrategias de localización.

Pero a veces necesitamos agregarle más funcionalidad para los requisitos de nuestro proyecto. En esa situación, podemos expandir esta biblioteca agregando nuestras extensiones personalizadas. Estas extensiones personalizadas se denominan 'Extensión de usuario'.

Por ejemplo, necesitamos una Acción que pueda convertir el texto a mayúsculas antes de completarlo en un elemento web. No puede encontrar esta acción en la biblioteca de acciones predeterminada. En tal caso, puede crear su propia 'Extensión de usuario'. En este tutorial, aprenderemos cómo crear una extensión de usuario para convertir texto a mayúsculas

Requisito para crear la extensión de usuario de Selenium:

Para crear una extensión de usuario para Selenium IDE, necesitamos conocer el concepto básico de JavaScript y el concepto de objeto prototipo de Java Script.

Para crear su extensión de usuario, debe crear métodos de script Java y agregarlos al prototipo de objeto de selenio y al prototipo de objeto PageBot.

¿Cómo reconoce Selenium IDE la extensión de usuario?

Después de agregar la extensión de usuario a Selenium IDE cuando iniciamos Selenium IDE, todas estas extensiones en el prototipo de javascript se cargan y Selenium IDE las reconoce por su nombre.

Cómo crear una extensión de usuario

Paso 1) Acción : todas las acciones se inician con "hacer", es decir, si la acción es para texto en mayúsculas, su nombre será doTextUpperCase. Cuando agregamos este método de acción en Selenium IDE, Selenium IDE creará un método de espera para esta acción. Entonces, en este caso, cuando creamos la acción doTextUpperCase , Selenium IDE creará una función de espera correspondiente como TextUpperCaseAndWait . Puede aceptar dos parámetros

Ejemplo: acción de texto en mayúsculas

Selenium.prototype.doTextUpperCase = function (localizador, texto) {// Aquí findElement es capaz de manejar todo tipo de localizador (xpath, css, name, id, className), solo necesitamos pasar el texto del localizadorvar element = this.page (). findElement (localizador);// Crea el texto a escribirtext = text.toUpperCase ();// Reemplazar el texto del elemento con el nuevo textothis.page (). replaceText (elemento, texto);};

Paso 2) Evaluadores / afirmación: todos los evaluadores registrados en el prototipo de objeto de selenio tendrán el prefijo

por "obtener" o "es" Ej. getValueFromCompoundTable, isValueFromCompoundTable. Puede aceptar dos parámetros, uno para el objetivo y otro para el campo de valor en el caso de prueba.

Para cada evaluador, habrá funciones de verificación correspondientes con el prefijo "verificar", "afirmar" y el prefijo de función de espera con "esperar

Ejemplo: para evaluadores de texto en mayúsculas

Selenium.prototype.assertTextUpperCase = function (localizador, texto) {// Todas las estrategias de localización son manejadas automáticamente por "findElement"var element = this.page (). findElement (localizador);// Crea el texto para verificartext = text.toUpperCase ();// Obtiene el valor real del elementovar actualValue = element.value;// Asegúrese de que el valor real coincida con el esperadoAssert.matches (valor esperado, valor actual);};Selenium.prototype.isTextEqual = function (localizador, texto) {devuelve this.getText (localizador) .value === texto;};Selenium.prototype.getTextValue = function (localizador, texto) {devuelve this.getText (locator) .value;};

Paso 3) Estrategia del localizador: si deseamos crear nuestra propia función para ubicar un elemento, entonces

necesitamos extender el prototipo de PageBot con una función con el prefijo "LocateElementBy".

Se necesitarán dos parámetros, el primero será la cadena del localizador y el segundo será el documento

donde necesita ser buscado.

Ejemplo: para el localizador de texto en mayúsculas

// El "inDocument" es un documento que está buscando.PageBot.prototype.locateElementByUpperCase = function (text, inDocument) {// Crea el texto para buscarvar valor esperado = texto.toCaso Superior ();// Recorre todos los elementos, buscando los que tengan// un valor === nuestro valor esperadovar allElements = inDocument.getElementsByTagName ("*");// Esta estrella '*' es una especie de expresión regular que atravesará cada elemento (en HTML DOM cada elemento seguramente tiene un nombre de etiqueta como , ,

, , ,
etc.). Aquí nuestro motivo es encontrar un elemento que coincida con el texto en mayúsculas que hemos pasado, así que lo buscaremos con todos los elementos y cuando obtengamos coincidencia tendremos el elemento web correcto.para (var i = 0; i

¿Cómo usar la extensión de núcleo recién creada?

  1. Ir a Selenium IDE

    Haga clic en Opciones -> Opciones ...

  1. En la sección General, seleccione la ubicación de la extensión Selenium Core recién creada

  2. Haga clic en Aceptar y reinicie Selenium IDE

  1. Encontrarás la extensión en la lista de comandos.

Aquí hay una lista de extensiones / complementos populares utilizados en Selenium IDE

Nombre Objetivo
Favoritos Para marcar un conjunto de pruebas como favorito y ejecutarlos con un solo clic
Flex Pilot X Para automatización basada en Flex
FlexMonkium Para pruebas de reproducción y grabación basadas en Adobe Flex en Selenium IDE
Registro de archivos Para guardar registros en un archivo
Control de flujo Para controlar el flujo de ejecución de la prueba
Elementos destacados Para resaltar un control web
Espera implícita Para esperar un elemento durante un cierto límite de tiempo.
Captura de pantalla en caso de falla Tomar una captura de pantalla en caso de falla
Resultados de la prueba Guarde el resultado del caso de prueba para un conjunto de pruebas con un solo clic

Puede obtener todo esto y muchos más en la sección de descargas del sitio oficial de SeleniumHQ

http://docs.seleniumhq.org/download/

Resumen:

  • Hay tres partes de la estrategia de Selenium IDE, Acción, Evaluadores / Afirmación, Localizador.
  • La extensión de usuario se crea cuando Selenium IDE no cumple con el requisito actual.
  • Para crear una extensión de usuario, es necesario agregar javascript al prototipo de objeto de selenium.
  • Después de la creación de la extensión, es necesario agregarla en Selenium IDE y reiniciar IDE.

Descargue la extensión Selenium Core utilizada en este tutorial