comprehensive xpath tutorial xml path language
Aprenda todo sobre XML Path Language (XPath) con ejemplos. Este tutorial de XPath cubre los usos y tipos de XPath, operadores XPath, ejes y aplicaciones en pruebas:
El término XPath significa XML Path Language. Es un lenguaje de consulta empleado para seleccionar varios nodos en el documento XML.
Dado que SQL se utiliza como lenguaje de consulta para diferentes bases de datos ( Por ejemplo, SQL se puede utilizar en bases de datos como MySQL, Oracle, DB2, etc.), XPath también se puede utilizar para varios lenguajes y herramientas ( Por ejemplo, lenguajes como XSLT, XQuery, XLink, XPointer, etc. y herramientas como MarkLogic, herramientas de prueba de software como Selenium, etc.)
Lo que vas a aprender:
XPath: descripción general
XPath es básicamente un lenguaje para navegar a través de documentos XML y, al hablar de navegación, significa moverse en un documento XML en cualquier dirección, ir a cualquier elemento o cualquier atributo y nodo de texto. XPath es un idioma recomendado por el World Wide Web Consortium (W3C).
¿Dónde podemos usar XPath?
XPath se puede utilizar tanto en la industria de desarrollo de software como en la industria de pruebas de software.
software gratuito de extracción de dvd para windows 10
Si está en el dominio de pruebas de software, puede usar XPath para desarrollar scripts de automatización en Selenium, o si está en el dominio de desarrollo, casi todos los lenguajes de programación tienen soporte para XPath.
XSLT se utiliza principalmente en el dominio de conversión de contenido XML y utiliza XPath para la conversión. XSLT trabaja en estrecha colaboración con XPath y algunos otros lenguajes como XQuery y XPointer.
Tipos de nodo XPath
A continuación se enumeran los distintos tipos de XPath Node.
# 1) Nodos de elementos: Estos son los nodos que vienen directamente debajo del nodo raíz. Un nodo de elemento puede contener atributos. Representa una etiqueta XML. Como se muestra en el siguiente ejemplo: Software Tester, State, Country son los nodos del elemento.
# 2) Nodos de atributos :Esto define la propiedad / atributo del nodo del elemento. Puede estar tanto debajo del nodo del elemento como del nodo raíz. Los nodos de elementos son los padres de estos nodos. Como se muestra en el siguiente ejemplo: 'nombre' es el nodo de atributo del nodo de elemento (probador de software). El atajo para denotar los nodos de atributos es '@'.
# 3) Nodos de texto :Todos los textos que se encuentran entre el nodo de elemento se conocen como nodo de texto, como en el ejemplo siguiente, 'Delhi', 'India', 'Chennai' son los nodos de texto.
# 4) Nodos de comentarios :Esto es algo que un tester o desarrollador escribe para explicar el código que no es procesado por los lenguajes de programación. Los comentarios (algo de texto) se encuentran entre estas etiquetas de apertura y cierre:
# 5) espacios de nombres :T ”; 0j89 //// / Estos se utilizan para eliminar la ambigüedad entre más de un conjunto de nombres de elementos XML. Por ejemplo, en XSLT, el espacio de nombres predeterminado se usa como (XSL :).
# 6) Instrucciones de procesamiento :Estos contienen instrucciones que podrían usarse en las solicitudes para su procesamiento. La presencia de estas instrucciones de procesamiento podría estar en cualquier parte del documento. Estos vienen en el medio.
# 7) Nodo raíz :Esto define el nodo de elemento superior que contiene todos los elementos secundarios en su interior. El nodo raíz no tiene un nodo principal. En el siguiente ejemplo XML, el nodo raíz es “SoftwareTestersList”. Para seleccionar el nodo raíz, usamos una barra inclinada, es decir, '/'.
con que puedo abrir un archivo eps
Escribiremos un programa XML básico para explicar los términos mencionados anteriormente.
|_+_|Valores atómicos : Todos aquellos nodos que no tienen nodos secundarios ni padres, se conocen como valores atómicos.
Nodo de contexto : Este es un nodo particular en el documento XML en el que se evalúan las expresiones. También podría considerarse como el nodo actual y abreviarse con un solo punto (.).
Tamaño del contexto : Este es el número de hijos del padre del nodo de contexto. Por ejemplo, si el nodo de contexto es uno de los quintos hijos de su padre, entonces el tamaño de contexto es cinco.
Absolute Xpath: Esta es la expresión XPath en el documento XML que comienza con el nodo raíz o con '/', Por ejemplo, / SoftwareTestersList / softwareTester / @ name = ”T1 ″
XPath relativo: Si la expresión XPath comienza con el nodo de contexto seleccionado, se considera XPath relativo. Por ejemplo, si el probador de software es el nodo seleccionado actualmente, entonces / @ name = ”T1” se considera como XPath relativo.
Ejes en XPath
- Eje propio : Seleccione el nodo de contexto. La expresión XPath self :: * y. son equivalentes. Esto se abrevia con un solo punto (.)
- Eje hijo : Seleccione los hijos del nodo de contexto. Los elementos, los comentarios, los nodos de texto y la instrucción de procesamiento se consideran elementos secundarios del nodo de contexto. El nodo de espacio de nombres y el nodo de atributo no se consideran el eje hijo del nodo de contenido. Por ejemplo, niño :: probador de software.
- Eje padre : Seleccione el padre del nodo de contexto (si el nodo de contexto es el nodo raíz, entonces el eje padre dará como resultado un nodo vacío). Este eje se abrevia con un punto doble (..). Las expresiones (parent :: State) y (../State) son equivalentes. Si el nodo de contexto no tiene un elemento como padre, esta expresión XPath dará como resultado un nodo vacío.
- Eje de atributo : Seleccione el atributo del nodo de contexto. Este eje de atributo se abrevia con el signo arroba (@). Si el nodo de contexto no es un nodo de elemento, esto resultará en un nodo vacío. La expresión (atributo :: nombre) y (@nombre) son equivalentes.
- Eje ancestro : Seleccione el padre del nodo de contexto y el padre del padre y así sucesivamente. Este eje contiene el nodo raíz si el nodo de contexto en sí no es el nodo raíz.
- Ancestro o yo: Seleccione el nodo de contexto con su padre, el padre de su padre y así sucesivamente y siempre seleccionará el nodo raíz.
- Eje descendiente : Seleccione todos los hijos del nodo de contexto, los hijos de sus hijos, etc. Los hijos del nodo de contexto pueden ser elementos, comentarios, instrucciones de procesamiento y nodos de texto. El nodo de espacio de nombres y el nodo de atributo no se consideran bajo el eje descendiente.
- Descendiente o yo : Seleccione el nodo de contexto y todos los hijos del nodo de contexto y todos los hijos de los hijos de todo el nodo de contexto y así sucesivamente. Como en los elementos del caso anterior, los comentarios, las instrucciones de procesamiento y los nodos de texto se consideran y los espacios de nombres y los nodos de atributos no se consideran en los hijos del nodo de contexto.
- Eje precedente : Seleccione todos los nodos que vienen antes del nodo de contexto en todo el documento que se considera el eje anterior. El espacio de nombres, los antepasados y el nodo de atributo no se consideran como el eje anterior.
- Eje del hermano anterior : Seleccione todos los hermanos anteriores del nodo de contexto. Todos los nodos que aparecen antes del nodo de contexto y también tienen el mismo padre que el nodo de contexto en el documento XML. El hermano anterior resultará vacío si el nodo de contexto es un espacio de nombres o es un atributo.
- Eje siguiente : Seleccione todos los nodos que vienen después del nodo de contexto en el documento XML. El espacio de nombres, el atributo y los descendientes no se consideran en la siguiente lista de ejes.
- Eje siguiente-hermano : Seleccione todos los hermanos siguientes del nodo de contexto. Todos los nodos que vienen después del nodo de contexto y también tienen el mismo padre que el nodo de contexto en el documento XML se consideran como un eje de hermanos siguientes. Esto dará como resultado un conjunto de nodos vacío si el nodo de contexto es un espacio de nombres o un nodo de atributo.
- Espacio de nombres : Seleccione los nodos de espacio de nombres del nodo de contexto. Esto resultará en vacío si el nodo de contexto no es un nodo de elemento.
Tipos de datos en XPath
A continuación se muestran los distintos tipos de datos en XPath.
- Número: Los números en XPath representan un número de punto flotante y se implementan como números de punto flotante IEEE 754. El tipo de datos entero no se considera en XPath.
- Booleano: Esto representa verdadero o falso.
- Cuerda: Esto representa cero o más caracteres.
- Conjunto de nodos: Esto representa un conjunto de cero o más nodos.
Comodines en XPath
A continuación se enumeran los comodines en XPath.
- Un asterisco (*) : Esto seleccionará todos los nodos de elementos del nodo de contexto. Seleccionará los nodos de texto, comentarios, instrucciones de procesamiento y nodo de atributos.
- Signo arroba con un asterisco (@ *) : Esto seleccionará todos los nodos de atributos del nodo de contexto.
- Nodo() : Esto seleccionará todos los nodos del nodo de contexto. Estos seleccionan espacios de nombres, texto, atributos, elementos, comentarios e instrucciones de procesamiento.
Operadores XPath
Nota: En la siguiente tabla, e representa cualquier expresión XPath.
Operadores | Descripción | Ejemplo |
---|---|---|
e1! = e2 | No es igual | @name! = ’T1’ |
e1 + e2 | Sumas (si e1 y e2 son números) | 5 + 2 |
e1 - e2 | Resta (si e1 y e2 son números) | 10 – 4 |
e1 * e2 | Multiplicación (si e1 y e2 son números) | 3 * 4 |
e1 div e2 | División (si e1 y e2 son números y el resultado estará en un valor de punto flotante) | 4 div 2 |
e1 | e2 | unión de dos nodos que coinciden con e1 y e2. | // Estado | //país |
e1 = e2 | Igual | @name = ’T1’ |
e1La prueba de e1 es menor que e2 (signo menor que '<’ must be excaped by ‘<’) | prueba = ”5<9” will result true(). | |
e1> e2 | La prueba de e1 es mayor que e2 (el signo mayor que '>' debe ser excavado por '>') | test = ”5> 9” resultará falso (). |
e1<= e2 | La prueba de e1 es menor o igual que e2. | prueba = ”5<= 9” will result false(). |
e1> = e2 | La prueba de e1 es mayor o igual que e2. | test = ”5> = 9” resultará falso (). |
e1 o e2 | Evaluado si e1 o e2 son verdaderos. | |
e1 y e2 | Evaluado si tanto e1 como e2 son verdaderos. | |
e1 mod e2 | Devuelve el resto en coma flotante de e1 dividido por e2. | 7 mod 2 |
Predicados en XPath
Los predicados se utilizan como filtros que restringen los nodos seleccionados por la expresión XPath. Cada predicado se convierte a un valor booleano, ya sea verdadero o falso, si es verdadero para el XPath dado, ese nodo se seleccionará, si es falso, no se seleccionará el nodo.
Los predicados siempre vienen entre corchetes como ().
Por ejemplo, softwareTester (@ name = ”T2 ″):
Esto seleccionará el elemento que ha sido nombrado como atributo con el valor de T2.
Aplicaciones de XPath en pruebas de software
XPath es muy útil en las pruebas de automatización. Incluso si está haciendo pruebas manuales, el conocimiento de XPaths será muy útil para ayudarlo a comprender lo que está sucediendo en el backend de la aplicación.
¿Qué es la prueba de funcionalidad con ejemplo?
Si está en pruebas de automatización, debe haber oído hablar de Appium Studio, que es una de las mejores herramientas de automatización para pruebas de aplicaciones móviles. En esta herramienta, hay una característica muy poderosa llamada Característica XPath que le permite identificar los elementos de una página específica a través del script de automatización.
Nos gustaría citar aquí otro ejemplo de la herramienta que casi todos los probadores de software conocen, es decir, Selenium. El conocimiento de XPath en Selenium IDE y Selenium WebDriver es una habilidad imprescindible para los probadores.
XPath actúa como un localizador de elementos. Siempre que deba ubicar un elemento específico en una página y realizar alguna acción sobre él, debe mencionar su XPath en la columna de destino del script de Selenium.
Como puede ver en la imagen anterior, si selecciona cualquier elemento de una página web y lo inspecciona, obtendrá la opción 'Copiar XPath'. Como ejemplo, se tomó del elemento web de búsqueda de Google a través del navegador web Chrome y cuando se copió XPath como se muestra en la imagen de arriba, obtuvimos el siguiente valor:
|_+_|Ahora, si supongamos que necesitamos realizar una acción de clic en este enlace, tendremos que proporcionar un comando de clic en el script de Selenium y el destino del comando de clic será el XPath anterior. El uso de XPath no se limita solo a las dos herramientas anteriores. Hay muchas áreas y herramientas de prueba de software en las que se utiliza XPath.
Esperamos que tenga una idea clara de la importancia de XPath en el campo de las pruebas de software.
Conclusión
En este tutorial, hemos aprendido sobre XPath, Cómo usar la expresión XPath, Soporte para la expresión XPath en diferentes lenguajes y herramientas. Aprendimos que XPath se puede utilizar en cualquier dominio de desarrollo de software y pruebas de software.
También aprendimos los diferentes tipos de datos de XPath, diferentes ejes utilizados en XPath junto con su uso, tipos de nodos utilizados en XPath, diferentes operadores y predicados en XPath, la diferencia entre XPath relativa y absoluta, diferentes comodines utilizados en XPath, etc.
¡¡Feliz lectura!!
Lectura recomendada
- Un enfoque simple para pruebas de XML para bases de datos
- Una forma excelente de realizar pruebas de datos con tecnologías XML (informe técnico)
- Afirmación en SOAtest con un ejemplo de código XML
- Tutorial de QTP n. ° 16: Pasos para insertar XML, accesibilidad y puntos de control de bases de datos
- Las 45 preguntas y respuestas principales de la entrevista XML para 2021 (ÚLTIMA)
- Diferencia entre SQL Vs MySQL Vs SQL Server (con ejemplos)
- Ejemplo de TestNG: cómo crear y utilizar el archivo TestNG.xml
- Tutorial de hoja de trucos de escritura XPath Ultimate con sintaxis y ejemplos