comprehensive xpath tutorial xml path language
Μάθετε τα πάντα για τη γλώσσα διαδρομής XML (XPath) με παραδείγματα. Αυτό το σεμινάριο XPath καλύπτει τις χρήσεις και τους τύπους XPath, XPath Operators, Axes και Applications in Testing:
Ο όρος XPath σημαίνει XML Path Language. Είναι μια γλώσσα ερωτήματος που χρησιμοποιείται για την επιλογή διαφόρων κόμβων στο έγγραφο XML.
Καθώς η SQL χρησιμοποιείται ως γλώσσα ερωτήματος για διαφορετικές βάσεις δεδομένων ( Για παράδειγμα, Το SQL μπορεί να χρησιμοποιηθεί σε βάση δεδομένων όπως MySQL, Oracle, DB2, κ.λπ.), το XPath μπορεί επίσης να χρησιμοποιηθεί για διάφορες γλώσσες και εργαλεία ( Για παράδειγμα, γλώσσες όπως XSLT, XQuery, XLink, XPointer κ.λπ. και εργαλεία όπως MarkLogic, εργαλεία δοκιμής λογισμικού όπως το Σελήνιο κ.λπ.)
Τι θα μάθετε:
XPath - Μια επισκόπηση
Το Xpath είναι βασικά μια γλώσσα πλοήγησης μέσω εγγράφων XML και ενώ συζητάμε για πλοήγηση, σημαίνει μετακίνηση σε ένα έγγραφο XML προς οποιαδήποτε κατεύθυνση, μετάβαση σε οποιοδήποτε στοιχείο ή οποιοδήποτε χαρακτηριστικό και κόμβο κειμένου. Το XPath είναι μια προτεινόμενη γλώσσα του World Wide Web Consortium (W3C).
Πού μπορούμε να χρησιμοποιήσουμε το XPath;
Το XPath μπορεί να χρησιμοποιηθεί τόσο στη βιομηχανία ανάπτυξης λογισμικού όσο και στη βιομηχανία δοκιμών λογισμικού.
ιδιωτικοί διακομιστές για κόσμο του warcraft
Εάν βρίσκεστε στον τομέα Δοκιμή λογισμικού, τότε μπορείτε να χρησιμοποιήσετε το XPath για την ανάπτυξη σεναρίων αυτοματισμού στο Selenium ή εάν βρίσκεστε στον τομέα ανάπτυξης, τότε σχεδόν όλες οι γλώσσες προγραμματισμού έχουν υποστήριξη XPath.
Το XSLT χρησιμοποιείται κυρίως στον τομέα μετατροπής περιεχομένου XML και χρησιμοποιεί το XPath για μετατροπή. Το XSLT συνεργάζεται στενά με το XPath και ορισμένες άλλες γλώσσες όπως το XQuery και το XPointer.
Τύποι κόμβων XPath
Παρακάτω αναφέρονται οι διάφοροι τύποι XPath Node.
# 1) Κόμβοι στοιχείων: Αυτοί είναι οι κόμβοι που βρίσκονται ακριβώς κάτω από τον ριζικό κόμβο. Ένας κόμβος στοιχείων μπορεί να περιέχει χαρακτηριστικά σε αυτό. Αντιπροσωπεύει μια ετικέτα XML. Όπως δίνεται στο παρακάτω παράδειγμα: Ο ελεγκτής λογισμικού, η πολιτεία, η χώρα είναι οι κόμβοι στοιχείων.
# 2) Κόμβοι χαρακτηριστικών :Αυτό καθορίζει την ιδιότητα / χαρακτηριστικό του κόμβου στοιχείου. Μπορεί να βρίσκεται κάτω από τον κόμβο στοιχείων καθώς και τον ριζικό κόμβο. Οι κόμβοι στοιχείων είναι οι γονείς αυτών των κόμβων. Όπως δίνεται στο παρακάτω παράδειγμα: 'όνομα' είναι ο κόμβος χαρακτηριστικών του κόμβου στοιχείου (λογισμικό δοκιμής). Η συντόμευση για να δηλώσετε τους κόμβους χαρακτηριστικών είναι '@'.
# 3) Κόμβοι κειμένου :Όλα τα κείμενα που έρχονται μεταξύ του κόμβου στοιχείων είναι γνωστά ως κόμβοι κειμένου όπως στο παρακάτω παράδειγμα «Δελχί», «Ινδία», «Τσενάι» είναι οι κόμβοι κειμένου.
# 4) Κόμβοι σχολίων :Αυτό είναι κάτι που ένας δοκιμαστής ή προγραμματιστής γράφει για να εξηγήσει τον κώδικα που δεν υποβάλλεται σε επεξεργασία από τις γλώσσες προγραμματισμού. Σχόλια (κάποιο κείμενο) βρίσκεται ανάμεσα σε αυτές τις ετικέτες ανοίγματος και κλεισίματος:
# 5) Χώροι ονομάτων :T '; 0j89 //// / αυτά χρησιμοποιούνται για την άρση της ασάφειας μεταξύ περισσότερων από ενός συνόλων ονομάτων στοιχείων XML. Για παράδειγμα, στο XSLT ο προεπιλεγμένος χώρος ονομάτων χρησιμοποιείται ως (XSL :).
# 6) Οδηγίες επεξεργασίας :Περιέχουν οδηγίες που θα μπορούσαν να χρησιμοποιηθούν στις εφαρμογές για επεξεργασία. Η παρουσία αυτών των οδηγιών επεξεργασίας θα μπορούσε να είναι οπουδήποτε στο έγγραφο. Αυτά έρχονται στο μεταξύ.
# 7) Κόμβος ρίζας :Αυτό καθορίζει τον κορυφαίο κόμβο στοιχείου που περιέχει όλα τα θυγατρικά στοιχεία μέσα του. Ο ριζικός κόμβος δεν έχει γονικό κόμβο. Στο παρακάτω παράδειγμα XML ο ριζικός κόμβος είναι 'SoftwareTestersList'. Για να επιλέξουμε τον ριζικό κόμβο, χρησιμοποιούμε κάθετο κάθετο δηλαδή «/».
ερωτήσεις και απαντήσεις συνέντευξης δοκιμής λογισμικού doc
Θα γράψουμε ένα βασικό πρόγραμμα XML για να εξηγήσουμε τους παραπάνω όρους.
Delhi India chennai India
Ατομικές τιμές : Όλοι αυτοί οι κόμβοι που δεν έχουν θυγατρικούς ή γονικούς κόμβους, είναι γνωστοί ως ατομικές τιμές.
Κόμβος περιβάλλοντος : Αυτός είναι ένας συγκεκριμένος κόμβος στο έγγραφο XML στο οποίο αξιολογούνται οι εκφράσεις. Θα μπορούσε επίσης να θεωρηθεί ως ο τρέχων κόμβος και συντομευμένος με μία μόνο περίοδο (.).
Μέγεθος περιβάλλοντος : Αυτός είναι ο αριθμός των παιδιών του γονέα του κόμβου περιβάλλοντος. Για παράδειγμα, εάν ο κόμβος περιβάλλοντος είναι ένα από τα πέμπτα παιδιά του γονέα του, τότε το μέγεθος περιβάλλοντος είναι πέντε.
Απόλυτο Xpath: Αυτή είναι η έκφραση XPath στο έγγραφο XML που ξεκινά με τον ριζικό κόμβο ή με «/», Για παράδειγμα, / SoftwareTestersList / softwareTester / @ name = 'T1 ″
Σχετική XPath: Εάν η έκφραση XPath ξεκινά με τον επιλεγμένο κόμβο περιβάλλοντος, τότε αυτό θεωρείται ως σχετικό XPath. Για παράδειγμα, εάν ο ελεγκτής λογισμικού είναι ο επιλεγμένος κόμβος τότε / @ name = 'T1' θεωρείται το σχετικό XPath.
Άξονες στο XPath
- Αυτο-άξονας : Επιλέξτε τον κόμβο περιβάλλοντος. Η έκφραση XPath self :: * και. είναι ισοδύναμα. Συντομεύεται από μία μόνο περίοδο (.)
- Παιδικός άξονας : Επιλέξτε τα παιδιά του κόμβου περιβάλλοντος. Στοιχεία, σχόλια, κόμβοι κειμένου και οδηγίες επεξεργασίας θεωρούνται θυγατρικά του κόμβου περιβάλλοντος. Ο κόμβος χώρου ονομάτων και ο κόμβος χαρακτηριστικών δεν θεωρούνται ως θυγατρικός άξονας του κόμβου περιεχομένου. Για παράδειγμα, παιδί :: ελεγκτής λογισμικού.
- Γονικός άξονας : Επιλέξτε τον γονέα του κόμβου περιβάλλοντος (εάν ο κόμβος περιβάλλοντος είναι ο ριζικός κόμβος, τότε ο γονικός άξονας θα οδηγήσει σε έναν κενό κόμβο.) Αυτός ο άξονας συντομεύεται από μια διπλή τελεία (..). Οι εκφράσεις (γονική :: Πολιτεία) και (../State) είναι ισοδύναμες. Εάν ο κόμβος περιβάλλοντος δεν έχει στοιχείο ως γονικό του, τότε αυτή η έκφραση XPath θα έχει ως αποτέλεσμα έναν κενό κόμβο.
- Άξονας χαρακτηριστικών : Επιλέξτε το χαρακτηριστικό του κόμβου περιβάλλοντος. Αυτός ο άξονας χαρακτηριστικών συντομεύεται από το at-sign (@). Εάν ο κόμβος περιβάλλοντος δεν είναι κόμβος στοιχείων, τότε αυτό θα οδηγήσει σε κενό κόμβο. Η έκφραση (χαρακτηριστικό :: name) και (@name) είναι ισοδύναμη.
- Άξονας προγόνου : Επιλέξτε τον γονέα του κόμβου περιβάλλοντος και τον γονέα του γονέα και ούτω καθεξής. Αυτός ο άξονας περιέχει τον ριζικό κόμβο εάν ο ίδιος ο κόμβος περιβάλλοντος δεν είναι ο ριζικός κόμβος.
- Προγονικός ή μόνος: Επιλέξτε τον κόμβο περιβάλλοντος με τον γονέα του, τον γονέα του γονέα και ούτω καθεξής και θα επιλέγετε πάντα τον ριζικό κόμβο.
- Απόγονος άξονας : Επιλέξτε όλα τα παιδιά του κόμβου περιβάλλοντος, τα παιδιά των παιδιών τους και ούτω καθεξής. Τα παιδιά του κόμβου περιβάλλοντος θα μπορούσαν να είναι στοιχεία, σχόλια, οδηγίες επεξεργασίας και κόμβοι κειμένου. Ο κόμβος χώρου ονομάτων και ο κόμβος χαρακτηριστικών δεν λαμβάνονται υπόψη στον άξονα απογόνου.
- Απόγονος ή μόνος : Επιλέξτε τον κόμβο περιβάλλοντος και όλα τα παιδιά του κόμβου περιβάλλοντος και όλα τα παιδιά των παιδιών όλων των κόμβων περιβάλλοντος και ούτω καθεξής. Όπως και στην παραπάνω περίπτωση, τα σχόλια, οι οδηγίες επεξεργασίας και οι κόμβοι κειμένου λαμβάνονται υπόψη και οι χώροι ονομάτων και οι κόμβοι χαρακτηριστικών δεν λαμβάνονται υπόψη στα θυγατρικά του κόμβου περιβάλλοντος.
- Προηγούμενος άξονας : Επιλέξτε όλους τους κόμβους που προηγούνται του κόμβου περιβάλλοντος σε ολόκληρο το έγγραφο που θεωρείται ως ο προηγούμενος άξονας. Ο χώρος ονομάτων, οι πρόγονοι και ο κόμβος χαρακτηριστικών δεν θεωρούνται ως ο προηγούμενος άξονας.
- Άξονας προγενέστερου-αδελφού : Επιλέξτε όλα τα προηγούμενα αδέλφια του κόμβου περιβάλλοντος. Όλοι οι κόμβοι που εμφανίζονται πριν από τον κόμβο περιβάλλοντος και έχουν επίσης τον ίδιο γονέα με τον κόμβο περιβάλλοντος στο έγγραφο XML. Ο προηγούμενος-αδελφός θα έχει ως αποτέλεσμα κενό εάν ο κόμβος περιβάλλοντος είναι ένας χώρος ονομάτων ή είναι ένα χαρακτηριστικό.
- Ακολουθώντας άξονα : Επιλέξτε όλους τους κόμβους που ακολουθούν τον κόμβο περιβάλλοντος στο έγγραφο XML. Ο χώρος ονομάτων, το χαρακτηριστικό και οι απόγονοι δεν λαμβάνονται υπόψη σε αυτήν την ακόλουθη λίστα αξόνων.
- Άξονας μετά-αδελφός : Επιλέξτε όλα τα ακόλουθα αδέλφια του κόμβου περιβάλλοντος. Όλοι οι κόμβοι που ακολουθούν τον κόμβο περιβάλλοντος και έχουν τον ίδιο γονέα με τον κόμβο περιβάλλοντος στο έγγραφο XML θεωρούνται ως άξονας που ακολουθεί. Αυτό θα οδηγήσει σε ένα κενό σύνολο κόμβων εάν ο κόμβος περιβάλλοντος είναι χώρος ονομάτων ή κόμβος χαρακτηριστικών.
- Χώρος ονομάτων : Επιλέξτε τους κόμβους χώρου ονομάτων του κόμβου περιβάλλοντος. Αυτό θα έχει ως αποτέλεσμα κενό εάν ο κόμβος περιβάλλοντος δεν είναι κόμβος στοιχείου.
Τύποι δεδομένων στο XPath
Παρακάτω δίνονται οι διάφοροι τύποι δεδομένων στο XPath.
- Αριθμός: Οι αριθμοί στο XPath αντιπροσωπεύουν έναν αριθμό κινητής υποδιαστολής και εφαρμόζονται ως αριθμοί κινητής υποδιαστολής IEEE 754. Ο ακέραιος τύπος δεδομένων δεν λαμβάνεται υπόψη στο XPath.
- Boolean: Αυτό αντιπροσωπεύει είτε αληθές είτε λάθος.
- Σειρά: Αυτό αντιπροσωπεύει μηδέν ή περισσότερους χαρακτήρες.
- Σετ κόμβων: Αυτό αντιπροσωπεύει ένα σύνολο μηδέν ή περισσότερων κόμβων.
Μπαλαντέρ στο XPath
Παρατίθενται παρακάτω οι Wildcards στο XPath.
- Ένας αστερίσκος (*) : Αυτό θα επιλέξει όλους τους κόμβους στοιχείων του κόμβου περιβάλλοντος. Θα επιλέξει τους κόμβους κειμένου, τα σχόλια, τις οδηγίες επεξεργασίας και τον κόμβο χαρακτηριστικών.
- Στο σημάδι με αστερίσκο (@ *) : Αυτό θα επιλέξει όλους τους κόμβους χαρακτηριστικών του κόμβου περιβάλλοντος.
- Κόμβος() : Αυτό θα επιλέξει όλους τους κόμβους του κόμβου περιβάλλοντος. Αυτά επιλέγουν χώρους ονομάτων, κείμενο, χαρακτηριστικά, στοιχεία, σχόλια και οδηγίες επεξεργασίας.
Χειριστές XPath
Σημείωση: Στον παρακάτω πίνακα, e σημαίνει οποιαδήποτε έκφραση XPath.
Χειριστές | Περιγραφή | Παράδειγμα |
---|---|---|
e1! = e2 | Όχι ίσο | @ όνομα! = 'T1' |
e1 + e2 | Προσθήκες (εάν τα e1 και e2 είναι αριθμοί) | 5 + 2 |
e1 - e2 | Αφαίρεση (εάν τα e1 και e2 είναι αριθμοί) | 10 - 4 |
e1 * e2 | Πολλαπλασιασμός (εάν τα e1 και e2 είναι αριθμοί) | 3. 4 |
e1 div e2 | Διαίρεση (εάν τα e1 και e2 είναι αριθμοί και το αποτέλεσμα θα είναι σε τιμή κυμαινόμενου σημείου) | 4 div 2 |
e1 | ε2 | ένωση δύο κόμβων που ταιριάζουν με το e1 και το e2. | // Πολιτεία | //Χώρα |
e1 = e2 | Ισούται | @ όνομα = 'T1' |
ε1Η δοκιμή του e1 είναι μικρότερη από το e2 (λιγότερο από το σύμβολο «<’ must be excaped by ‘<’) | δοκιμή = '5<9” will result true(). | |
e1> e2 | Η δοκιμή του e1 είναι μεγαλύτερη από το e2 (μεγαλύτερο από το σύμβολο «>» πρέπει να διαγραφεί από το «>») | test = '5> 9' θα έχει ως αποτέλεσμα false (). |
ε1<= e2 | Η δοκιμή του e1 είναι μικρότερη ή ίση με e2. | δοκιμή = '5<= 9” will result false(). |
e1> = e2 | Η δοκιμή του e1 είναι μεγαλύτερη ή ίση με e2. | test = '5> = 9' θα έχει ως αποτέλεσμα false (). |
e1 ή e2 | Αξιολογείται εάν είτε το e1 είτε το e2 είναι αλήθεια. | |
e1 και e2 | Αξιολογείται εάν και τα δύο e1 και e2 είναι αλήθεια. | |
e1 mod e2 | Επιστρέφει το υπόλοιπο κυμαινόμενου σημείου του e1 διαιρούμενο με το e2. | 7 mod 2 |
Predicates στο XPath
Τα Predicates χρησιμοποιούνται ως φίλτρα που περιορίζουν τους κόμβους που επιλέγονται από την έκφραση XPath. Κάθε predicate μετατρέπεται σε Boolean τιμή είτε true είτε false, εάν είναι αλήθεια για το δεδομένο XPath τότε αυτός ο κόμβος θα επιλεγεί, εάν είναι false τότε ο κόμβος δεν θα επιλεγεί.
Τα βραβεία έρχονται πάντα μέσα σε αγκύλες όπως ().
Για παράδειγμα, softwareTester (@ name = 'T2 ″):
Αυτό θα επιλέξει το στοιχείο που έχει ονομαστεί ως χαρακτηριστικό με την τιμή του T2.
Εφαρμογές του XPath στη δοκιμή λογισμικού
Το XPath είναι πολύ χρήσιμο στις δοκιμές αυτοματισμού. Ακόμα κι αν κάνετε μη αυτόματη δοκιμή, η γνώση των XPaths θα είναι πολύ χρήσιμη για να σας βοηθήσει να κατανοήσετε τι συμβαίνει στο πίσω μέρος της εφαρμογής.
τι είναι το σχέδιο δοκιμών στο qa
Εάν συμμετέχετε σε δοκιμές αυτοματισμού, πρέπει να έχετε ακούσει για το Appium studio που είναι ένα από τα καλύτερα εργαλεία αυτοματισμού για δοκιμές εφαρμογών για κινητά. Σε αυτό το εργαλείο, υπάρχει ένα πολύ ισχυρό χαρακτηριστικό που ονομάζεται Λειτουργία XPath το οποίο σας δίνει τη δυνατότητα να προσδιορίσετε τα στοιχεία μιας συγκεκριμένης σελίδας σε όλο το σενάριο αυτοματισμού.
Θα θέλαμε να παραθέσουμε ένα άλλο παράδειγμα εδώ από το εργαλείο το οποίο σχεδόν κάθε δοκιμαστής λογισμικού γνωρίζει δηλαδή το Σελήνιο. Η γνώση του XPath στο Selenium IDE και στο Selenium WebDriver είναι μια απαραίτητη ικανότητα για τους δοκιμαστές.
Το XPath λειτουργεί ως εντοπιστής στοιχείων. Κάθε φορά που απαιτείται να εντοπίσετε ένα συγκεκριμένο στοιχείο σε μια σελίδα και να εκτελέσετε κάποια ενέργεια πάνω του, πρέπει να αναφέρετε το XPath στη στήλη προορισμού του σεναρίου Selenium.
Όπως μπορείτε να δείτε στην παραπάνω εικόνα, εάν επιλέξετε οποιοδήποτε στοιχείο μιας ιστοσελίδας και το επιθεωρήσετε, θα έχετε μια επιλογή «Αντιγραφή XPath». Ως παράδειγμα λήφθηκε από το στοιχείο ιστού αναζήτησης Google μέσω του προγράμματος περιήγησης ιστού Chrome και όταν το XPath αντιγράφηκε όπως φαίνεται στην παραπάνω εικόνα, έχουμε την ακόλουθη τιμή:
//*(@id='tsf')/div(2)/div(3)/center/input(1)
Τώρα, αν υποθέσουμε ότι πρέπει να εκτελέσουμε μια ενέργεια κλικ σε αυτόν τον σύνδεσμο, τότε θα πρέπει να δώσουμε μια εντολή κλικ στο σενάριο Selenium και ο στόχος της εντολής κλικ θα είναι το παραπάνω XPath. Η χρήση του XPath δεν περιορίζεται μόνο στα παραπάνω δύο εργαλεία. Υπάρχουν πολλοί τομείς και εργαλεία δοκιμών λογισμικού στα οποία χρησιμοποιείται το XPath.
Ελπίζουμε να έχετε μια δίκαιη ιδέα για τη σημασία του XPath στον τομέα των δοκιμών λογισμικού.
συμπέρασμα
Σε αυτό το σεμινάριο, μάθαμε για το XPath, τον τρόπο χρήσης της έκφρασης XPath, την υποστήριξη για έκφραση XPath σε διαφορετικές γλώσσες και εργαλεία Μάθαμε ότι το XPath μπορεί να χρησιμοποιηθεί σε οποιονδήποτε τομέα ανάπτυξης λογισμικού και δοκιμών λογισμικού.
Μάθαμε επίσης τους διαφορετικούς τύπους δεδομένων του XPath, τους διαφορετικούς άξονες που χρησιμοποιούνται στο XPath μαζί με τη χρήση τους, τους τύπους κόμβων που χρησιμοποιούνται στο XPath, τους διαφορετικούς χειριστές και τα prededates στο XPath, τη διαφορά μεταξύ σχετικών και απόλυτων XPath, διαφορετικών μπαλαντέρ που χρησιμοποιούνται στο XPath κ.λπ.
Καλή ανάγνωση !!
Συνιστώμενη ανάγνωση
- Μια απλή προσέγγιση για XML στη δοκιμή βάσεων δεδομένων
- Ένας εξαιρετικός τρόπος δοκιμής δεδομένων με χρήση τεχνολογιών XML (Λευκή Βίβλος)
- Δήλωση στο SOAtest με παράδειγμα κώδικα XML
- Οδηγός QTP # 16 - Βήματα για την εισαγωγή σημείων ελέγχου XML, προσβασιμότητας και βάσης δεδομένων
- Κορυφαίες 45 ερωτήσεις συνέντευξης XML και απαντήσεις για το 2021 (ΝΕΟΤΕΡΑ)
- Διαφορά μεταξύ SQL Vs MySQL Vs SQL Server (με παραδείγματα)
- TestNG Παράδειγμα: Τρόπος δημιουργίας και χρήσης του αρχείου TestNG.xml
- Ultimate XPath Writing Cheat Sheet Tutorial με σύνταξη και παραδείγματα