how develop test scripts using top 5 most popular test automation frameworks
Όταν αρχίσετε να μαθαίνετε για τον αυτοματοποιημένο έλεγχο, πρέπει να συναντήσετε τον όρο 'πλαίσιο αυτοματισμού δοκιμής'. Ίσως ορισμένοι από εσάς να νιώσετε άβολα με αυτόν τον όρο και να αρχίσετε να αισθάνεστε ότι είναι κάτι που είναι δύσκολο να κατανοηθεί και ακόμη πιο δύσκολο να εφαρμοστεί.
Αυτό το σεμινάριο συντάσσεται με σκοπό να σας βοηθήσει να κατανοήσετε όσο το δυνατόν πιο απλά πλαίσια αυτοματοποίησης δοκιμών. Διαβάστε όλα τα σεμινάρια σε αυτό ' Σειρά μαθημάτων αυτοματισμού δοκιμών εδώ .
Πλαίσιο αυτοματισμού δοκιμής (σε πολύ απλή γλώσσα) είναι «σύνολο κανόνων». Οι κανόνες μας βοηθούν να γράφουμε σενάρια με τέτοιο τρόπο που να οδηγεί σε «χαμηλότερη συντήρηση».
Για να κατανοήσουμε πλήρως την έννοια του πλαισίου, πρέπει πρώτα να μάθουμε πώς γράφουμε απλά σενάρια και έπειτα πώς να εφαρμόσουμε ένα πλαίσιο σε αυτά.
Στη δοκιμαστική αυτοματοποίηση, γράφουμε σενάρια. Το σενάριο είναι βασικά περίπου τρία «Α»:
- ΣΥΜΦΩΝΙΑ
- ΔΡΑΣΗ
- ΙΣΧΥΡΙΣΜΟΣ
Ακολουθούν οι λεπτομέρειες κάθε Α, με παραδείγματα:
# 1.ΣΥΜΦΩΝΙΑή Αναγνώριση αντικειμένου
Αναγνωρίζουμε αντικείμενα (κουμπιά, αναπτυσσόμενα κλπ.) Είτε με τα αναγνωριστικά, τα ονόματά τους είτε με τους τίτλους παραθύρων κ.λπ.
Σε περίπτωση εφαρμογής ιστού, προσδιορίζουμε με αναγνωριστικό χρήστη, ή με XPath ή από CSS ή με όνομα κλάσης κ.λπ.
Πάρτε αυτό το παράδειγμα Selenium WebDriver (με C #) στο οποίο εντοπίζουμε αντικείμενα χρησιμοποιώντας το αναγνωριστικό. (Εφαρμογή ιστού)
IWebElement txtServer = _webDriver.FindElement(By.Id('tfsServerURL'));
Ένα άλλο παράδειγμα από το MS Coded UI (εφαρμογή υπολογιστή)
WinButton btnAdd = new WinButton(calWindow); btnAdd.SearchProperties(WinButton.PropertyNames.Name) = 'Add';
Μετά την αναγνώριση, τακτοποιούμε ή αποθηκεύουμε αυτά τα αντικείμενα σε UIMaps ή Object Repository για να τα ξαναχρησιμοποιήσουμε στα σενάρια μας. Γι 'αυτό το βήμα ονομάζεται ΡΥΘΜΙΣΗ.
#δύο.ΔΡΑΣΗστο αναγνωρισμένο αντικείμενο
Όταν τα αντικείμενα αναγνωρίζονται, εκτελούμε κάποιες ενέργειες σε αυτό είτε με ποντίκι είτε με πληκτρολόγιο.Για παράδειγμα, είτε κάνουμε κλικ, είτε κάνουμε διπλό κλικ, ή τοποθετούμε το δείκτη του ποντικιού πάνω του ή μερικές φορές κάνουμε drag-drop. Μερικές φορές γράφουμε σε πλαίσια κειμένου. Έτσι, κάθε είδους ενέργεια που εκτελούμε σε αυτά τα αντικείμενα καλύπτεται σε αυτό το δεύτερο βήμα.
Παράδειγμα 1 : (Selenium WebDriver με C #)
txtServer.Clear(); txtServer.SendKeys(“Some sample text”);
Παράδειγμα 2 : (MS κωδικοποιημένο περιβάλλον εργασίας χρήστη με C #)
Mouse.Click(buttonAdd);
# 3.ΙΣΧΥΡΙΣΜΟΣ
Ο ισχυρισμός ελέγχει βασικά το αντικείμενο με κάποιο αναμενόμενο αποτέλεσμα. Για παράδειγμα, αν πατήσουμε 2 + 3 στην αριθμομηχανή, η οθόνη θα πρέπει να εμφανίσει 5. Σε αυτήν την περίπτωση, το αναμενόμενο αποτέλεσμα είναι 5. Αυτή η ιδέα εξηγείται ήδη στο πρώτο μας σεμινάριο.
Εδώ δίνουμε ένα παράδειγμα ισχυρισμού:
Assert.AreEqual('5', txtResult.DisplayText);
Σχεδόν κάθε σενάριο γραμμένο σε δοκιμαστικό αυτοματισμό περιέχει αυτά τα τρία πράγματα: Ρύθμιση, Δράση και Δήλωση.
Τώρα ρίξτε μια ματιά σε ένα πλήρες σενάριο που περιέχει όλα αυτά τα βήματα. Το σενάριο θα ανοίξει μια αριθμομηχανή, πατήστε 1 + 6 και, στη συνέχεια, ελέγξτε αν η οθόνη εμφανίζει 7 ή όχι.
Παράδειγμα Α:
(TestMethod) (TestMethod) public void TestCalculator() { var app = ApplicationUnderTest.Launch('C:\Windows\System32\calc.exe'); //Object identification part (ARRANGEMENT) //----*Calculator Window----*// WinWindow calWindow = new WinWindow(app); calWindow.SearchProperties(WinWindow.PropertyNames.Name) = 'Calculator'; calWindow.SearchProperties(WinWindow.PropertyNames.ClassName) = 'CalcFrame'; //----*Button1 ----*// WinButton btn1 = new WinButton(calWindow); btn1.SearchProperties(WinButton.PropertyNames.Name) = '1'; //----*Button Add ----*// WinButton btnAdd = new WinButton(calWindow); btnAdd.SearchProperties(WinButton.PropertyNames.Name) = 'Add'; //----*Button 6 ----*// WinButton btn6 = new WinButton(calWindow); btn6.SearchProperties(WinButton.PropertyNames.Name) = '6'; //----*Button Equals ----*// WinButton btnEquals = new WinButton(calWindow); btnEquals.SearchProperties(WinButton.PropertyNames.Name) = 'Equals'; //----*Text Box Results----*// WinText txtResult = new WinText(calWindow); txtResult.SearchProperties(WinText.PropertyNames.Name) = 'Result'; //(ACTIONS Part) // Click '1' button Mouse.Click(btn1); // Click 'Add' button Mouse.Click(btnAdd); // Click '6' button Mouse.Click(btn6); // Click 'Equals' button Mouse.Click(btnEquals); //evaluate the results (ASSERTIONS) Assert.AreEqual('7', txtResult.DisplayText, “Screen is not displaying 7); //close the application app.Close(); }
Τι θα μάθετε:
- Τι συμβαίνει με αυτό το σενάριο;
- Υπάρχουν πέντε δημοφιλή πλαίσια στον αυτοματοποιημένο έλεγχο:
- # 1. Γραμμικό πλαίσιο:
- # 2. Πλαίσιο Modularity:
- # 3. Πλαίσιο βάσει δεδομένων:
- # 4. Πλαίσιο βάσει λέξεων-κλειδιών:
- # 5. Υβριδικό πλαίσιο αυτοματοποίησης δοκιμών:
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Τι συμβαίνει με αυτό το σενάριο;
Το σενάριο είναι εύκολο να κατανοηθεί και ελπίζω να έχετε την ιδέα των τριών «Α» στο παραπάνω παράδειγμα. Αλλά όλα δεν είναι καλά με αυτό το σενάριο.
Αυτό το σενάριο δεν επιτρέπει εύκολη συντήρηση. Πάρτε ξανά το παράδειγμα της αριθμομηχανής, εάν πρέπει να γράψουμε δοκιμαστικές περιπτώσεις κάθε λειτουργίας του υπολογιστή, θα υπάρχουν πολλές δοκιμαστικές περιπτώσεις. Εάν υπάρχουν 10 περιπτώσεις δοκιμών και σε κάθε δοκιμή, πρέπει να ορίσουμε το ίδιο αντικείμενο και, στη συνέχεια, εάν εμφανιστεί οποιαδήποτε αλλαγή στο όνομα ή την ταυτότητα του αντικειμένου, πρέπει να αλλάξουμε το μέρος αναγνώρισης αντικειμένου σε 10 περιπτώσεις δοκιμής.
Για παράδειγμα, πάρτε το παράδειγμα του κουμπιού ΠΡΟΣΘΗΚΗ στο σενάριο.
δωρεάν παραστάσεις anime για παρακολούθηση στο διαδίκτυο
WinButton btnAdd = new WinButton(calWindow); btnAdd.SearchProperties(WinButton.PropertyNames.Name) = 'Add';
Ας πούμε, αυτή η γραμμή χρησιμοποιείται σε 10 δοκιμαστικές περιπτώσεις. Τώρα στην επόμενη έκδοση της αριθμομηχανής, ο προγραμματιστής άλλαξε το όνομα του κουμπιού από 'Προσθήκη' σε 'Συν'. Τώρα όταν εκτελούμε τις δοκιμαστικές μας περιπτώσεις, θα αποτύχουν και πρέπει να αλλάξουμε την παραπάνω γραμμή σε αυτό σε 10 δοκιμαστικές περιπτώσεις.
btnAdd.SearchProperties(WinButton.PropertyNames.Name) = 'Plus';
Πρέπει λοιπόν να βελτιώσουμε αυτήν τη δοκιμαστική θήκη. Θα πρέπει να ακολουθήσουμε τη διάσημη αρχή DRY στην κωδικοποίησή μας. Το DRY σημαίνει 'Μην επαναλαμβάνετε τον εαυτό σας'. Πρέπει να γράψουμε το μέρος αναγνώρισης αντικειμένου με τέτοιο τρόπο ώστε το αντικείμενο πρέπει να αναγνωρίζεται μόνο σε ένα μέρος και πρέπει να καλείται παντού.
Ρίξτε μια ματιά στο βελτιωμένο σενάριο.
Παράδειγμα Β:
//defining the objects outside the script and only once. ApplicationUnderTest app = null; public WinWindow calWindow { get { WinWindow _calWindow = new WinWindow(app); _calWindow.SearchProperties(WinWindow.PropertyNames.Name) = 'Calculator'; _calWindow.SearchProperties(WinWindow.PropertyNames.ClassName) = 'CalcFrame'; return _calWindow; } } public WinText txtResult { get { WinText _txtResult = new WinText(calWindow); _txtResult.SearchProperties(WinText.PropertyNames.Name) = 'Result'; return _txtResult; } } //making functions for similar kind of tasks public void ClickButton(string BtnName) { WinButton button = new WinButton(calWindow); button.SearchProperties(WinButton.PropertyNames.Name) = BtnName ; Mouse.Click(button); } public void AddTwoNumbers(string number1, string number2) { ClickButton(number1); ClickButton('Add'); ClickButton(number2); ClickButton('Equals'); } //Test case becomes simple and easy to maintain. (TestMethod) public void TestCalculatorModular() { app = ApplicationUnderTest.Launch('C:\Windows\System32\calc.exe'); //do all the operations AddTwoNumbers('6', '1'); //evaluate the results Assert.AreEqual('7', txtResult.DisplayText, “screen is not displaying 7”); //close the application app.Close(); }
Στο παραπάνω παράδειγμα, έχουμε διαχωρίσει το calWindow και Αποτέλεσμα αντικείμενα και μετακινήστε τα στην κορυφή έτσι ώστε να μπορούν να χρησιμοποιηθούν σε διαφορετικές μεθόδους δοκιμής. Τα έχουμε ορίσει μόνο μία φορά και μπορούμε να τα χρησιμοποιήσουμε σε όσες δοκιμαστικές περιπτώσεις θέλουμε.
Έχουμε δημιουργήσει επίσης δύο λειτουργίες. Κουμπί κλικ () που δέχεται ένα όνομα κουμπιού και κάντε κλικ σε αυτό και AddTwoNumbers () το οποίο παίρνει δύο αριθμούς και τα προσθέτει χρησιμοποιώντας το κάντε κλικ στο κουμπί λειτουργούν μέσα σε αυτό.
Μόλις αρχίσουμε να 'βελτιώνουμε' τον κώδικα μας και να τον επαναχρησιμοποιούμε και να διατηρούμε, αυτό σημαίνει ότι χρησιμοποιούμε οποιοδήποτε πλαίσιο αυτοματισμού. Τώρα γίνεται ενδιαφέρον.
Δείτε επίσης=> Γιατί χρειαζόμαστε το πλαίσιο για αυτοματοποιημένο έλεγχο;
Υπάρχουν πέντε δημοφιλή πλαίσια στον αυτοματισμό δοκιμών :
- Γραμμικός
- Αρθρωτότητα
- Με βάση τα δεδομένα
- Με βάση τη λέξη-κλειδί
- Υβρίδιο
Θα εξηγήσουμε τώρα κάθε πλαίσιο με τη βοήθεια των χαρακτηριστικών του.
# 1. Γραμμικό πλαίσιο:
Χαρακτηριστικά
- Όλα όσα σχετίζονται με ένα σενάριο ορίζονται μέσα στα σενάρια.
- Δεν ενδιαφέρεται για την αφαίρεση και την αλληλεπικάλυψη κώδικα
- Η εγγραφή και η αναπαραγωγή δημιουργούν συνήθως γραμμικό κώδικα
- Εύκολο να ξεκινήσετε
- Συντήρηση εφιάλτης.
Διαβάζοντας τα παραπάνω 5 χαρακτηριστικά του Linear Framework, μπορούμε εύκολα να τα συσχετίσουμε με το Παράδειγμα Α μας. Αυτό το παράδειγμα χρησιμοποιεί βασικά το Γραμμικό πλαίσιο, πράγμα που έχει σχέση με ένα σενάριο ορίζεται μέσα στο σενάριο. ο παράθυρο κλήσης και Αποτέλεσμα Txt ορίζονται στο σενάριο. Το σενάριο δεν ενδιαφέρεται για αφαίρεση και αναπαραγωγή κώδικα. Είναι επίσης ένας εφιάλτης συντήρησης, όπως έχω εξηγήσει νωρίτερα.
Γιατί λοιπόν να χρησιμοποιήσουμε αυτό το πλαίσιο;
Αυτό το πλαίσιο μπορεί να χρησιμοποιηθεί σε έργα μικρής κλίμακας όπου δεν υπάρχουν πολλές οθόνες διεπαφής χρήστη. Επίσης, όταν χρησιμοποιούμε οποιοδήποτε εργαλείο αυτοματισμού για πρώτη φορά, συνήθως δημιουργεί κώδικα σε γραμμική φόρμα. Έτσι μπορούμε να μάθουμε για τον κώδικα που δημιουργείται από το εργαλείο αυτοματισμού για συγκεκριμένες ενέργειες. Εκτός από αυτούς τους λόγους, αυτό το πλαίσιο θα πρέπει να αποφεύγεται στη δέσμευσή σας.
=> Δείτε εδώ το παράδειγμα του Linear and Keyword Framework με το παράδειγμα QTP.
# 2. Πλαίσιο Modularity:
Χαρακτηριστικά
- Τα αντικείμενα ορίζονται μία φορά και μπορούν να επαναχρησιμοποιηθούν σε όλες τις μεθόδους δοκιμής.
- Μικρές και συγκεκριμένες μέθοδοι δημιουργούνται για μεμονωμένες λειτουργίες
- Η δοκιμαστική θήκη είναι η συλλογή αυτών των μικρών μεθόδων και επαναχρησιμοποιήσιμων αντικειμένων
- Αυτό μας επιτρέπει να γράφουμε διατηρήσιμο κώδικα.
Διαβάζοντας τα παραπάνω χαρακτηριστικά, μπορούμε να συσχετίσουμε το Παράδειγμα Β με αυτά τα χαρακτηριστικά. Σε αυτό το παράδειγμα, έχουμε δημιουργήσει μια αφαίρεση μετακινώντας το calWindow στην κορυφή και ορίστε το μέσα σε μια ιδιότητα που μπορεί να χρησιμοποιηθεί παντού. Έχουμε δημιουργήσει δύο μικρές και ανεξάρτητες λειτουργίες που ονομάζονται Κουμπί κλικ () και AddTwoNumbers () . Συνδυάζουμε αυτές τις δύο μικρές λειτουργίες για να δημιουργήσουμε το τελικό σενάριό μας, το οποίο ελέγχει τη λειτουργία 'Προσθήκη' της αριθμομηχανής.
Αυτό έχει ως αποτέλεσμα ευκολότερη συντήρηση. Εάν προκύψει οποιαδήποτε αλλαγή στο περιβάλλον εργασίας του υπολογιστή, πρέπει να αλλάξουμε μόνο σε συναρτήσεις. Τα σενάρια μας θα παραμείνουν ανέπαφα. Αυτό το πλαίσιο χρησιμοποιείται ιδιαίτερα στον αυτοματισμό. Το διάσημο Page Object Framework (το οποίο χρησιμοποιείται με το Selenium) είναι επίσης ένα είδος πλαισίου modularity. Διανέμουμε ολόκληρη την εφαρμογή Ιστού σε ξεχωριστές σελίδες. Τα κουμπιά, τα αναπτυσσόμενα και τα πλαίσια ελέγχου κάθε σελίδας ορίζονται εντός της κλάσης αυτής της σελίδας. Εάν υπάρξει οποιαδήποτε αλλαγή στον ιστότοπο, πρέπει να αλλάξουμε μόνο σε αυτήν την τάξη σελίδων και άλλες σελίδες παραμένουν άθικτες. Αυτό έχει ως αποτέλεσμα καλύτερη συντήρηση και ευκολότερη αναγνωσιμότητα των σεναρίων.
Το μόνο μειονέκτημα αυτού του πλαισίου είναι ότι απαιτεί καλές αντικειμενοστρεφείς έννοιες και ισχυρές δεξιότητες ανάπτυξης. Εάν τα έχετε, αυτό το πλαίσιο συνιστάται ιδιαίτερα.
# 3. Πλαίσιο βάσει δεδομένων:
Χαρακτηριστικά:
- Τα δεδομένα δοκιμής (τιμές εισόδου και εξόδου) διαχωρίζονται από το σενάριο και αποθηκεύονται σε εξωτερικά αρχεία. Αυτό μπορεί να είναι ένα αρχείο CSC, ένα υπολογιστικό φύλλο Excel ή μια βάση δεδομένων.
- Όταν εκτελείται το σενάριο, αυτές οι τιμές επιλέγονται από εξωτερικά αρχεία, αποθηκεύονται σε μεταβλητές και αντικαθιστούν τις τιμές που έχουν κωδικοποιηθεί εάν υπάρχουν.
- Πραγματικά χρήσιμο σε μέρη όπου η ίδια δοκιμαστική θήκη πρέπει να εκτελείται με διαφορετικές εισόδους.
Παράδειγμα Γ:
Θέλουμε να τρέξουμε τη δοκιμαστική θήκη προσθήκης με τρεις διαφορετικές εισόδους.
Τα δεδομένα είναι
7 + 2 = 9
5 + 2 = 7
3 + 2 = 5
Αποθηκεύσαμε αυτά τα δεδομένα (εισόδου και εξόδου) σε ένα εξωτερικό αρχείο CSV.
(DataSource('Microsoft.VisualStudio.TestTools.DataSource.CSV', '|DataDirectory|\data.csv', 'data#csv', DataAccessMethod. Sequential ), DeploymentItem('TestCalc\data.csv'), TestMethod) public void TestCalculatorDataDrivsen() { app = ApplicationUnderTest.Launch('C:\Windows\System32\calc.exe'); //do all the operations AddTwoNumbers(FromCSV.ADD1, FromCSV.ADD2); //evaluate the results Assert.AreEqual(FromCSV.Sum, txtResult.DisplayText); //close the application app.Close(); }
Στο παραπάνω σενάριο, ορίζουμε την πηγή δεδομένων μας στην κορυφή του σεναρίου, το οποίο είναι ένα αρχείο .csv.
Έχουμε δώσει τη διαδρομή αυτού του αρχείου. CSS και λέμε στο σενάριο να το αναλύσει 'Διαδοχικά'. Αυτό σημαίνει ότι το σενάριο θα εκτελείται όσες φορές υπάρχουν σειρές στο αρχείο CSV. Στην περίπτωσή μας, το σενάριο θα εκτελεστεί 3 φορές. Σε κάθε εκτέλεση, θα προσθέσει τους δύο αριθμούς που ορίζονται στις δύο πρώτες στήλες και θα επαληθεύσει ότι το άθροισμα αυτών των δύο αριθμών αντιστοιχεί στον αριθμό που υπάρχει στην τρίτη στήλη.
Υπάρχουν διάφορα πλεονεκτήματα αυτού του πλαισίου. Όλες οι τιμές αποθηκεύονται έξω από το σενάριο, οπότε αν υπάρξει κάποια αλλαγή στην επόμενη έκδοση, απλώς πρέπει να αλλάξουμε τα δεδομένα στο εξωτερικό αρχείο και το σενάριο θα παραμείνει άθικτο.
Το δεύτερο πλεονέκτημα είναι ότι το ίδιο σενάριο μπορεί να εκτελεστεί για διαφορετικές εισόδους. Πάρτε το παράδειγμα ενός ERP στο οποίο πρέπει να ελέγξετε την εγγραφή 100 υπαλλήλων. Μπορείτε να γράψετε ένα σενάριο και να αποθηκεύσετε τα ονόματα και άλλα δεδομένα που σχετίζονται με υπαλλήλους σε ένα εξωτερικό αρχείο. Θα εκτελέσετε ένα σενάριο και θα εκτελεστεί 100 φορές. Κάθε φορά με διαφορετικά δεδομένα υπαλλήλων. Μπορείτε εύκολα να εντοπίσετε, σε ποια δεδομένα το σενάριο δεν καταγράφει τον υπάλληλο. Θα είναι ένα πρόσθετο πλεονέκτημα όταν κάνετε αρνητικές δοκιμές.
=> Δείτε εδώ το παράδειγμα του πλαισίου δεδομένων και του υβριδικού πλαισίου με παράδειγμα QTP.
# 4. Πλαίσιο βάσει λέξεων-κλειδιών:
Χαρακτηριστικά:
- Και τα δεδομένα και οι ενέργειες ορίζονται εκτός του σεναρίου.
- Απαιτούσε την ανάπτυξη λέξεων-κλειδιών για διαφορετικούς τύπους ενεργειών.
- Η λειτουργικότητα που πρέπει να δοκιμάσουμε γράφεται με βήμα προς βήμα σε μορφή πίνακα χρησιμοποιώντας τις λέξεις-κλειδιά που αναπτύσσουμε και τα δεδομένα δοκιμής. Αποθηκεύουμε αυτόν τον πίνακα σε εξωτερικά αρχεία όπως το πλαίσιο βάσει δεδομένων.
- Το σενάριο θα αναλύσει αυτόν τον πίνακα και θα εκτελέσει τις αντίστοιχες ενέργειες.
- Επιτρέπει στον μη αυτόματο ελεγκτή που δεν γνωρίζει για την κωδικοποίηση να αποτελεί μέρος της αυτοματοποίησης σε κάποιο βαθμό.
Παράδειγμα Δ:
Ορίσαμε τα δεδομένα (π.χ. 1 + 3 = 4) καθώς και ενέργειες (π.χ. κλικ, Εκκαθάριση κ.λπ.) σε ένα αρχείο excel σε μορφή πίνακα.
Το σενάριο θα γίνει κάτι τέτοιο (ο παρακάτω κώδικας γράφεται μόνο για σκοπούς κατανόησης)
διαδικτυακές υπηρεσίες συνεντεύξεων ερωτήσεις και απαντήσεις για έμπειρους
(TestMethod) public void TestCalculator() { app = ApplicationUnderTest.Launch('C:\Windows\System32\calc.exe'); Table tb = ReadFromExcel(); Foreach(WinRow row in tb) { WinCell Window = row.Cells(“Window”); WinCell Control = row.Cells(“Control”); WinCell Action = row.Cells(“Action”); WinCell Arguments = row.Cells(“Arguments”); UITestControl c = GetControl(Control.Text,Window.Text); If(Action.Text == “Click”) Mouse.Click (c); If (Action.Text == “Clear”) c.Clear(); if(Action.Text == “Verify Result”) Assert.AreEqual(c.Text, Arguments.Text) //….and so on } }
Το παραπάνω σενάριο είναι απλώς ένας αναλυτής του αρχείου excel. Αναλύει το αρχείο excel γραμμή προς γραμμή και αναζητά λέξεις-κλειδιά για την εκτέλεση αντίστοιχων ενεργειών. Εάν εντοπίσει τη λέξη-κλειδί 'Click', θα κάνει κλικ στο καθορισμένο αντικείμενο. Εάν εντοπίσει 'Επαλήθευση αποτελεσμάτων', θα εκτελέσει τον ισχυρισμό.
Υπάρχουν διάφορα πλεονεκτήματα της χρήσης του πλαισίου βάσει λέξεων-κλειδιών.
Το πρώτο πλεονέκτημα είναι ότι αυτό το πλαίσιο είναι πολύ χρήσιμο σε εκείνα τα σενάρια όπου υπάρχουν μεγάλες πιθανότητες αλλαγών σε δοκιμαστικές περιπτώσεις. Αν κάποιο βήμα αλλάξει σε μια δοκιμαστική περίπτωση, δεν χρειάζεται να αγγίξουμε τον κωδικό. Απλώς πρέπει να ενημερώσουμε το αρχείο excel και το σενάριο θα ενημερωθεί.
Μπορείτε να ορίσετε όλα τα σενάρια σας σε ένα αρχείο excel και να παραδώσετε αυτό το αρχείο excel σε μη αυτόματους δοκιμαστές για να προσθέσετε νέα σενάρια ή να ενημερώσετε τα υπάρχοντα. Με αυτόν τον τρόπο, οι χειροκίνητοι δοκιμαστές μπορούν επίσης να γίνουν μέρος του αυτοματοποιημένου ελέγχου, επειδή δεν χρειάζεται να κωδικοποιήσουν τίποτα. Θα ενημερώσουν μόνο αυτό το αρχείο excel όταν υπάρχει ανάγκη και τα σενάρια θα ενημερώνονται αυτόματα.
Το δεύτερο πλεονέκτημα είναι ότι το σενάριό σας γίνεται ανεξάρτητο από το εργαλείο. Μπορείτε να διατηρήσετε τα σενάρια σας σε ένα αρχείο excel και εάν χρειαστεί να αλλάξετε κάποιο εργαλείο αυτοματοποίησης σε κάποιο σημείο, μπορείτε εύκολα να το αλλάξετε γράφοντας ένα πρόγραμμα ανάλυσης excel σε άλλο εργαλείο.
Το μειονέκτημα αυτού του πλαισίου είναι ότι πρέπει να εφεύρετε λέξεις-κλειδιά για διάφορους τύπους ενεργειών. Σε έργα μεγάλης κλίμακας, θα υπάρχουν τόσες πολλές λέξεις-κλειδιά που πρέπει να θυμάστε και να οργανώσετε τα σενάρια και τις λέξεις-κλειδιά σας. Αυτό καθίσταται ένα δύσκολο έργο σε ένα σημείο.
Σε ορισμένα σύνθετα σενάρια, όπου τα αντικείμενα δεν μπορούν να αναγνωριστούν εύκολα και πρέπει να χρησιμοποιήσουμε συντεταγμένες ποντικιού και άλλες τεχνικές, αυτό το πλαίσιο δεν είναι πολύ χρήσιμο.
Η χρήση λέξεων-κλειδιών εξακολουθεί να είναι ένα αγαπημένο πλαίσιο για πολλούς δοκιμαστές αυτοματισμού. Πλαίσιο ρομπότ από την Google είναι ένα δημοφιλές πλαίσιο βάσει λέξεων-κλειδιών που υποστηρίζεται από μια ενεργή κοινότητα.
# 5. Υβριδικό πλαίσιο αυτοματοποίησης δοκιμών:
Χαρακτηριστικά:
- Ο συνδυασμός δύο ή περισσοτέρων από τις παραπάνω τεχνικές, λαμβάνοντας από τις δυνάμεις τους και ελαχιστοποιώντας τις αδυναμίες τους.
- Το πλαίσιο μπορεί να χρησιμοποιήσει την αρθρωτή προσέγγιση μαζί με το πλαίσιο βάσει δεδομένων ή βάσει λέξεων-κλειδιών.
- Το πλαίσιο μπορεί να χρησιμοποιήσει σενάρια για την εκτέλεση ορισμένων εργασιών που μπορεί να είναι πολύ δύσκολο να εφαρμοστούν σε μια καθαρή λέξη-κλειδί προσέγγιση.
Με απλά λόγια, το υβριδικό πλαίσιο, χρησιμοποιήστε τον συνδυασμό των παραπάνω τεχνικών. Μπορούμε να χρησιμοποιήσουμε ένα πλαίσιο βάσει δεδομένων, το οποίο επίσης έχει αρθρωτό χαρακτήρα. Για ορισμένες δοκιμαστικές περιπτώσεις, μπορούμε να χρησιμοποιήσουμε τη λέξη-κλειδί προσέγγιση και για τις υπόλοιπες μπορούμε να χρησιμοποιήσουμε αρθρωτή. Έτσι, όταν αναμιγνύουμε δύο ή περισσότερες τεχνικές που αναφέρονται σε αυτό το άρθρο, χρησιμοποιούμε πραγματικά μια υβριδική προσέγγιση.
συμπέρασμα
Ελπίζω ότι το δοκιμαστικό αυτοματοποιημένο πλαίσιο δεν είναι πλέον τρομακτικό όρος για εσάς τώρα. Προσπάθησα να εξηγήσω τα πιο δημοφιλή πλαίσια όσο το δυνατόν πιο απλά.
Τα πλαίσια είναι εδώ για να κάνουν τη ζωή σας πιο εύκολη. Σας βοηθούν να γράψετε συντηρήσιμα και αξιόπιστα σενάρια. Χωρίς τη χρήση πλαισίων, ο δοκιμαστικός αυτοματισμός είναι ένας εφιάλτης. Για κάθε μικρή αλλαγή στην εφαρμογή, πρέπει να αλλάξετε τον κωδικό σας σε εκατοντάδες θέσεις.
Επομένως, η κατανόηση αυτών των πλαισίων είναι απαραίτητη για κάθε υπεύθυνο δοκιμών που θέλει μια γεύση αυτοματοποιημένου ελέγχου.
Στο δικό μας επόμενο σεμινάριο σε αυτήν τη σειρά, θα μάθουμε «Εκτέλεση και αναφορά του αυτοματισμού δοκιμών».
Εάν έχω χάσει κάτι σε αυτό το άρθρο ή θέλετε να κάνετε οποιαδήποτε ερώτηση, μη διστάσετε να το ρωτήσετε στην ενότητα σχολίων.
Εκμάθηση PREV # 4 | ΕΠΟΜΕΝΟ Φροντιστήριο # 6
Συνιστώμενη ανάγνωση
- QTP Frameworks - Test Automation Frameworks - Keyword Driven και Linear Framework Παραδείγματα - QTP Tutorial # 17
- Εντολές αυτοματισμού SeeTest: Λεπτομερής επεξήγηση με παραδείγματα
- 10 πιο δημοφιλή εργαλεία RPA αυτοματοποίησης διεργασιών RPA το 2021
- Πώς διαφέρει ο σχεδιασμός δοκιμών για χειροκίνητα και αυτοματοποιημένα έργα;
- Πιο δημοφιλή πλαίσια δοκιμής αυτοματοποίησης με πλεονεκτήματα και μειονεκτήματα του καθενός - Selenium Tutorial # 20
- Πλαίσιο αυτοματοποίησης δοκιμής χωρίς script: Εργαλεία και παραδείγματα
- Δοκιμή αυτοματισμού - Είναι μια εξειδικευμένη καριέρα; Μπορούν οι κανονικοί δοκιμαστές να αυτοματοποιήσουν επίσης;
- 25 Καλύτερα πλαίσια δοκιμής Java και εργαλεία για αυτοματοποίηση δοκιμών (Μέρος 3)