comprehensive xpath tutorial xml path language
Obteniu més informació sobre XML Path Language (XPath) amb exemples. Aquest tutorial XPath cobreix els usos i els tipus d'operadors XPath, XPath, eixos i aplicacions en proves:
El terme XPath significa XML Path Language. És un llenguatge de consulta emprat per seleccionar diversos nodes al document XML.
Com que s’utilitza SQL com a llenguatge de consulta per a diferents bases de dades ( Per exemple, SQL es pot utilitzar en bases de dades com MySQL, Oracle, DB2, etc.), XPath també es pot utilitzar per a diversos idiomes i eines ( Per exemple, idiomes com XSLT, XQuery, XLink, XPointer, etc. i eines com MarkLogic, eines de prova de programari com Selenium, etc.)
Què aprendreu:
XPath: una visió general
Xpath és bàsicament un llenguatge per a la navegació a través de documents XML i, mentre es discuteix sobre la navegació, significa desplaçar-se en un document XML en qualsevol direcció, anar a qualsevol element o qualsevol atribut i node de text. XPath és un idioma recomanat per al World Wide Web Consortium (W3C).
On podem utilitzar XPath?
XPath es pot utilitzar tant a la indústria del desenvolupament de programari com a la prova de programari.
polimorfisme en temps d'execució en c ++
Si esteu al domini de proves de programari, podeu utilitzar XPath per desenvolupar scripts d'automatització a Selenium o si esteu al domini de desenvolupament, gairebé tots els llenguatges de programació tenen suport XPath.
XSLT s'utilitza principalment al domini de conversió de contingut XML i utilitza XPath per a la conversió. XSLT treballa estretament amb XPath i alguns altres idiomes com XQuery i XPointer.
Tipus de node XPath
A continuació es detallen els diferents tipus de nodes XPath.
# 1) Nodes de l'element: Aquests són els nodes que entren directament sota el node arrel. Un node d'element pot contenir atributs. Representa una etiqueta XML. Com es mostra a l'exemple següent: Software Tester, State, Country són els nodes de l'element.
# 2) Nodes d’atributs :Això defineix la propietat / atribut del node de l'element. Pot estar a sota del node de l'element i també del node arrel. Els nodes d'elements són el pare d'aquests nodes. Tal com es mostra a l'exemple següent: 'nom' és el node d'atribut del node de l'element (provador de programari). La drecera per indicar nodes d'atribut és '@'.
# 3) Nodes de text :Tots els textos que es troben entre el node de l'element es coneixen com a node de text, com a l'exemple següent 'Delhi', 'Índia', 'Chennai' són els nodes de text.
# 4) Nodes de comentaris :Això és una cosa que un provador o desenvolupador escriu per explicar el codi que els llenguatges de programació no processen. Els comentaris (una mica de text) apareixen entre aquestes etiquetes d'obertura i de tancament:
# 5) Espais de noms :T ”; 0j89 //// / s’utilitzen per eliminar l’ambigüitat entre més d’un conjunt de noms d’elements XML. Per exemple, a XSLT, l'espai de noms per defecte s'utilitza com (XSL :).
# 6) Instruccions de processament :Aquests contenen instruccions que es podrien utilitzar a les aplicacions per al processament. La presència d’aquestes instruccions de processament podria estar a qualsevol lloc del document. Aquests entremig.
# 7) Node arrel :Això defineix el node de l'element més alt que conté tots els elements fills al seu interior. El node arrel no té cap node pare. A l'exemple XML següent, el node arrel és 'SoftwareTestersList'. Per seleccionar el node arrel, fem servir una barra inclinada cap endavant, és a dir, '/'.
preguntes i respostes d’entrevistes de proves de rendiment
Escriurem un programa XML bàsic per explicar els termes esmentats anteriorment.
Delhi India chennai India
Valors atòmics : Tots aquells nodes que no tenen ni nodes fills ni nodes pares, es coneixen com a valors atòmics.
Node contextual : Es tracta d'un node concret del document XML sobre el qual s'avaluen les expressions. També es podria considerar com el node actual i abreujat amb un únic punt (.).
Mida del context : Aquest és el nombre de fills del pare del node contextual. Per exemple, si el node contextual és un dels cinquens fills del seu pare, la mida contextual és cinc.
Xpath absolut: Aquesta és l'expressió XPath del document XML que comença amb el node arrel o amb '/', Per exemple, / SoftwareTestersList / softwareTester / @ name = 'T1'
XPath relatiu: Si l'expressió XPath comença amb el node context seleccionat, es considera que XPath relativa. Per exemple, si el provador de programari és el node seleccionat actualment, llavors / @ name = 'T1' es considera el XPath relatiu.
Eixos a XPath
- Autoeix : Seleccioneu el node contextual. L'expressió XPath self :: * i. són equivalents. S'abreuja amb un únic punt (.)
- Eix infantil : Seleccioneu els fills del node contextual. Els elements, comentaris, nodes de text i instruccions de processament es consideren un element secundari del node contextual. El node d'espai de noms i el node d'atribut no es consideren l'eix secundari del node de contingut. Per exemple, provador de programari infantil ::.
- Eix pare : Seleccioneu el pare del node context (si el node context és el node arrel, l'eix pare donarà lloc a un node buit.) Aquest eix s'abreuja amb un doble punt (..). Les expressions (pare :: Estat) i (../Estat) són equivalents. Si el node context no té cap element principal, aquesta expressió XPath donarà lloc a un node buit.
- Eix dels atributs : Seleccioneu l'atribut del node context. Aquest eix d'atribut s'abreuja amb el signe at (@). Si el node context no és un node element, donarà lloc a un node buit. Les expressions (atribut :: nom) i (@nom) són equivalents.
- Eix ancestral : Seleccioneu el pare del node contextual i el pare del pare, etc. Aquest eix conté el node arrel si el node context en si no és el node arrel.
- Ancestre o jo: Seleccioneu el node contextual amb el pare, el pare i altres, i sempre seleccionareu el node arrel.
- Eix descendent : Seleccioneu tots els fills del node contextual, els fills dels seus fills, etc. Els fills del node context podrien ser elements, comentaris, instruccions de processament i nodes de text. El node d'espai de noms i el node d'atribut no es consideren a l'eix descendent.
- Descendent o jo : Seleccioneu el node context i tots els fills del node context i tots els fills dels fills de tot el node context, etc. Igual que en els casos anteriors, es consideren els comentaris, les instruccions de processament i els nodes de text i els espais de noms i els nodes d'atribut no es consideren als fills del node context.
- Eix anterior : Seleccioneu tots els nodes anteriors al node contextual de tot el document que es considera l'eix anterior. L'espai de noms, els avantpassats i el node d'atribut no es consideren l'eix anterior.
- Eix precedent-germà : Seleccioneu tots els germans anteriors del node contextual. Tots els nodes que apareixen abans del node context i que també tenen el mateix pare que el node context del document XML. El germà anterior resultarà buit si el node context és un espai de noms o és un atribut.
- Eix següent : Seleccioneu tots els nodes que vénen després del node contextual al document XML. L'espai de noms, l'atribut i els descendents no es consideren en la llista d'eixos següent.
- Eix seguidor-germà : Seleccioneu tots els germans següents del node contextual. Tots els nodes que vénen després del node contextual i que també tenen el mateix pare que el node contextual del document XML es consideren un eix germà següent. Això donarà lloc a un conjunt de nodes buit si el node de context és l'espai de noms o el node d'atribut.
- Espai de noms : Seleccioneu els nodes de l'espai de noms del node contextual. Això resultarà buit si el node context no és un node element.
Tipus de dades a XPath
A continuació es detallen els diversos tipus de dades de XPath.
- Número: Els números a XPath representen un número de coma flotant i s’implementen com a números de coma flotant IEEE 754. El tipus de dades enter no es té en compte a XPath.
- Booleà: Això representa veritable o fals.
- Cadena: Això representa zero o més caràcters.
- Conjunt de nodes: Això representa un conjunt de zero o més nodes.
Comodins a XPath
A continuació es mostren els comodins a XPath.
- Un asterisc (*) : Seleccionarà tots els nodes d'elements del node contextual. Seleccionarà els nodes de text, els comentaris, les instruccions de processament i el node d’atributs.
- Inicieu la sessió amb un asterisc (@ *) : Seleccionarà tots els nodes d'atribut del node context.
- Node() : Seleccionarà tots els nodes del node contextual. Aquests espais de noms seleccionats, text, atributs, elements, comentaris i instruccions de processament.
Operadors XPath
Nota: A la taula següent, e significa qualsevol expressió XPath.
Operadors | Descripció | Exemple |
---|---|---|
e1! = e2 | No és igual | @ nom! = 'T1' |
e1 + e2 | Addicions (si e1 i e2 són números) | 5 +2 |
e1 - e2 | Resta (si e1 i e2 són nombres) | 10-4 |
e1 * e2 | Multiplicació (si e1 i e2 són nombres) | 3 * 4 |
e1 div e2 | Divisió (si e1 i e2 són números i el resultat tindrà un valor de coma flotant) | 4 div 2 |
e1 | e2 | unió de dos nodes que coincideixen amb e1 i coincideixen amb e2. | // Estat | // país |
e1 = e2 | És igual | @name = 'T1' |
e1La prova d’e1 és inferior a e2 (signe inferior a ‘<’ must be excaped by ‘<’) | prova = ”5<9” will result true(). | |
e1> e2 | La prova d'e1 és superior a e2 (el signe '>' superior a 'ha de ser eliminat per'> ') | test = '5> 9' resultarà false (). |
e1<= e2 | La prova d’e1 és inferior o igual a e2. | prova = ”5<= 9” will result false(). |
e1> = e2 | La prova d’e1 és superior o igual a e2. | test = '5> = 9' resultarà false (). |
e1 o e2 | S'avalua si e1 o e2 són certes. | |
e1 i e2 | Avaluat si tant e1 com e2 són certes. | |
e1 mod e2 | Retorna la resta de coma flotant de e1 dividit per e2. | 7 mod 2 |
Predicats a XPath
Els predicadors s’utilitzen com a filtres que restringeixen els nodes seleccionats per l’expressió XPath. Cada predicat es converteix en valor booleà veritable o fals, si és cert per a l'XPath donat, es seleccionarà aquest node; si és fals, no es seleccionarà el node.
Els predicats sempre apareixen entre claudàtors com ().
Per exemple, softwareTester (@ name = ”T2 ″):
Això seleccionarà l'element que s'ha nomenat com a atribut amb el valor de T2.
Aplicacions de XPath en proves de programari
XPath és molt útil en proves d'automatització. Fins i tot si feu proves manuals, el coneixement d’XPaths serà molt útil per ajudar-vos a entendre què passa al fons de l’aplicació.
millor bloqueig de finestres emergents de Google Chrome
Si esteu fent proves d'automatització, heu d'haver sentit a parlar d'Appium studio, que és una de les millors eines d'automatització per a proves d'aplicacions mòbils. En aquesta eina, hi ha una característica molt potent anomenada Funció XPath que us permet identificar els elements d'una pàgina específica al llarg del script d'automatització.
Ens agradaria citar-ne un altre exemple de l'eina que gairebé tots els provadors de programari coneixen, és a dir, Selenium. El coneixement de XPath a Selenium IDE i Selenium WebDriver és una habilitat imprescindible per als provadors.
XPath actua com a localitzador d’elements. Sempre que se us demani que localitzeu un element específic en una pàgina i que feu alguna acció sobre ella, haureu d'esmentar el seu XPath a la columna de destinació de l'script Selenium.
Com podeu veure a la imatge anterior, si seleccioneu algun element d’una pàgina web i l’inspecteu, obtindreu l’opció de “Copiar XPath”. Com a exemple, es va prendre de l'element web de la cerca de Google mitjançant el navegador web Chrome i quan es va copiar XPath tal com es mostra a la imatge anterior, vam obtenir el valor següent:
//*(@id='tsf')/div(2)/div(3)/center/input(1)
Ara, si suposem que hem de fer una acció de clic en aquest enllaç, haurem de proporcionar una ordre de clic a l'script Selenium i l'objectiu de l'ordre de clic serà l'XPath anterior. L’ús d’XPath no es limita només a les dues eines anteriors. Hi ha moltes àrees i eines de proves de programari en què s'utilitza XPath.
Esperem que tingueu una bona idea sobre la importància de XPath en el camp de les proves de programari.
Conclusió
En aquest tutorial, hem après sobre XPath, com s'utilitza l'expressió XPath, compatibilitat amb l'expressió XPath en diferents idiomes i eines. Vam aprendre que XPath es pot utilitzar en qualsevol domini de desenvolupament de programari i proves de programari.
També vam aprendre els diferents tipus de dades de XPath, diferents eixos utilitzats a XPath juntament amb el seu ús, els tipus de nodes utilitzats a XPath, diferents operadors i predicats a XPath, la diferència entre XPath relatiu i absolut, diferents comodins utilitzats a XPath, etc.
Bona lectura !!
Lectura recomanada
- Un enfocament senzill per provar XML a la base de dades
- Una manera excel·lent de provar dades mitjançant tecnologies XML (Llibre blanc)
- Afirmació a SOAtest amb un exemple de codi XML
- Tutorial QTP núm. 16: passos per inserir punts de control XML, accessibilitat i bases de dades
- 45 millors preguntes i respostes de l'entrevista XML per al 2021 (ÚLTIMA)
- Diferència entre SQL vs MySQL vs SQL Server (amb exemples)
- Exemple TestNG: Com crear i utilitzar el fitxer TestNG.xml
- Tutorial de fulls de trucs d'escriptura XPath definitiu amb sintaxi i exemples