how use preprocessors jmeter
Σε αυτό το σεμινάριο, θα μάθετε να χρησιμοποιείτε το JMeter PreProcessor και πώς λειτουργούν οι PreProcessors όπως το SampleTimeOut, το UserParameter, το HTMLLinkParser κ.λπ.
Το PreProcessor εκτελεί πάντα την ενέργεια πριν από το αίτημα Sampler.
Παρακάτω είναι η λίστα των PreProcessors που χρησιμοποιούνται στο JMeter:
- Παράμετροι χρήστη
- Δείγμα χρονικού ορίου
- Προεπεξεργαστής JSR223
- Προεπεξεργαστής JDBC
- Προεπεξεργαστής Bean Shell
- Αναλυτής συνδέσμων HTML
- Τροποποιητής επανεγγραφής URL URL HTML
- Παράμετροι χρήστη RegEx
=> Κάντε κλικ εδώ για Η πλήρης δωρεάν εκπαίδευση στο JMeter (20+ βίντεο)
Τι θα μάθετε:
Εκπαιδευτικό βίντεο JMeter PreProcessor
Οι PreProcessors είναι ενέργειες που εκτελούνται πριν από την εκτέλεση του πραγματικού δείγματος στο JMeter. Θα μπορούσε να είναι κάτι σαν αποθήκευση τιμών μιας μεταβλητής, καθορισμός χρονικών ορίων κλπ. Ο προεπεξεργαστής μπορεί να προστεθεί σε επίπεδο ομάδας νήματος ή σε επίπεδο δειγματοληψίας.
Το SampleTimeOut PreProcessor μπορεί να καθορίσει το δείγμα χρονικού ορίου για ένα αίτημα. Οποιοσδήποτε χρόνος λήψης δείγματος που είναι μεγαλύτερος από τον καθορισμένο θα αποτύχει. Το UserParameter PreProcessor χρησιμοποιείται για τον καθορισμό τιμών για μεταβλητές για συγκεκριμένους χρήστες.
Παράδειγμα , θα μπορούσατε να ορίσετε μια τιμή για μια μεταβλητή για συγκεκριμένους χρήστες και όταν εκτελείται το δείγμα, οι τιμές που καθορίζονται σε αυτόν τον προεπεξεργαστή παραλαμβάνονται.
Το HTMLLinkParser αναλύει όλους τους συνδέσμους από την απάντηση του προηγούμενου αιτήματος και, στη συνέχεια, μπορείτε να πατήσετε οποιονδήποτε από τους συνδέσμους στη σελίδα τυχαία. Μπορείτε να καθορίσετε το.
ποιος είναι ο σκοπός της δοκιμής αποδοχής χρηστών
Συνήθως χρησιμοποιούμενος προεπεξεργαστής JMeter
Ας δούμε μερικούς από τους προεπεξεργαστές του JMeter:
# 1) Προεπεξεργαστής JSR223
Ο προεπεξεργαστής JSR223 εκτελείται πριν από το αίτημα δειγματοληψίας και εκτελεί τη λειτουργία χρησιμοποιώντας το σενάριο JSR223. Διάφορες γλώσσες που μπορούν να χρησιμοποιηθούν είναι JAVA, Groovy, BeanShell, JEXL κ.λπ.
Ακολουθήστε τα παρακάτω βήματα για να προσθέσετε αυτόν τον προεπεξεργαστή:
- Προσθήκη ομάδας νήματος σε ένα δοκιμαστικό σχέδιο.
- Προσθήκη Sampler 'HTTP Request'.
- Προσθήκη JSR223 Προεπεξεργαστής.
- Προσθήκη ακροατή 'Προβολή δέντρου αποτελεσμάτων'.
Παράδειγμα :
Το ακόλουθο σενάριο μπορεί να γραφτεί χρησιμοποιώντας JavaScript για την τροποποίηση του HTTP Request Sampler:
sampler.setDomain('website.com'); sampler.setProtocol('HTTP'); sampler.setMethod('GET');
Οι διαθέσιμες μεταβλητές JSR223 για τη χρήση του σεναρίου είναι οι εξής:
- Κούτσουρο: Αυτή η μεταβλητή μπορεί να χρησιμοποιηθεί για εγγραφή στο αρχείο καταγραφής.
- Παράμετροι: Παράμετροι ως συμβολοσειρά.
- Επιγραφή: Είναι μια ετικέτα συμβολοσειράς.
- Ονομα αρχείου: Όνομα αρχείου ενός σεναρίου εάν σε περίπτωση προσθήκης εξωτερικού σεναρίου
- Του οποίου: Αυτή είναι μια μεταβλητή JMeter που δίνει πρόσβαση ανάγνωσης και εγγραφής στις μεταβλητές.
- Κέντημα: Παρέχεται πρόσβαση στο τρέχον δείγμα.
- υποστηρίζει: Πίνακας συμβολοσειρών ως παράμετρος
- στηρίγματα: Ιδιότητες JMeter
- ctx: Αυτό είναι το πλαίσιο JMeter που παρέχει πρόσβαση στο περιβάλλον
- ΕΞΩ: Για να εκτυπώσετε το μήνυμα (system.out)
# 2) Προεπεξεργαστής JDBC
Αυτός ο επεξεργαστής μπορεί να χρησιμοποιηθεί για την εκτέλεση ερωτημάτων SQL πριν εκτελεστεί το δείγμα.
Για να προσθέσετε τον Προεπεξεργαστή παρακάτω ακολουθούνται τα βήματα:
- Προσθέστε την ομάδα νήματος στο σχέδιο δοκιμών.
- Προσθήκη Sampler 'HTTP Request'.
- Προσθήκη HTTP Header Manager.
- ΠΡΟΣΘΗΚΗ JDBC PreProcessor στην ομάδα νήματος.
- Προσθέστε τον ακροατή ως 'Προβολή δέντρου αποτελεσμάτων'.
Παράδειγμα:
Σε περίπτωση που ένας χρήστης θέλει να ανακτήσει το όνομα χρήστη και τον κωδικό πρόσβασης για τους χρήστες:
- Προσθέστε ομάδα νήματος στο Σχέδιο δοκιμής.
- Προσθέστε Sampler 'HTTP Request' (λεπτομέρειες για το απαιτούμενο όνομα χρήστη και τον κωδικό πρόσβασης μπορούν επίσης να παρέχονται στο κύριο μέρος του δείγματος, αλλά δεν θα εξυπηρετήσει το σκοπό, καθώς η ενημέρωση σε οποιαδήποτε από αυτές τις λεπτομέρειες θα πρέπει να ενημερωθεί στο script ως Καλά)
- Προσθέστε το στοιχείο διαμόρφωσης 'HTTP Header Manager' και δώστε λεπτομέρειες για το όνομα και την τιμή.
- Προσθήκη προεπεξεργαστή JDBC.
Τύπος ερωτήματος μπορεί να επιλεγεί από το αναπτυσσόμενο μενού ως Επιλέξτε Δήλωση και το ερώτημα μπορεί να καθοριστεί για εξαγωγή του ίδιου στο πλαίσιο ερωτήματος.
Οι μεταβλητές που θα εξαχθούν μπορούν να παρέχονται με διαχωρισμό κόμμα.
- Προσθέστε το Listener 'View Tree Tree' και εκτελέστε το σχέδιο δοκιμών για να δείτε τα αποτελέσματα.
Προεπεξεργαστής JDBC έχει πεδίο Τύπος ερωτήματος που μπορεί να επιλεγεί σύμφωνα με την απαίτηση.
Όπως στην περίπτωση που ο χρήστης θέλει εκσυγχρονίζω Οι λεπτομέριες, Ενημέρωση δήλωσης θα πρέπει να χρησιμοποιηθεί. Ομοίως, όπως απαιτείται, μπορεί να επιλεγεί άλλος τύπος ερωτήματος.
Παράδειγμα έτοιμης δήλωσης επιλογής:
Σε περίπτωση που ο χρήστης πρέπει να ακυρώσει το αναγνωριστικό ραντεβού ενός ασθενούς από τις εγγραφές που αναφέρονται στο όνομα του ασθενούς, ο χρήστης πρέπει να διαμορφώσει τη σύνδεση JDBC και στη συνέχεια να προσθέσει έναν προεπεξεργαστή JDBC επιλέγοντας τον τύπο ερωτήματος ως Προετοιμασμένη επιλογή δήλωσης. Εκτελέστε το σχέδιο δοκιμών. Τα αποτελέσματα είναι ορατά από τον πρόσθετο ακροατή.
# 3) Αναλυτής συνδέσμων HTML
Αυτός ο επεξεργαστής χρησιμοποιείται για την ανάλυση της απόκρισης HTML και για την εξαγωγή όλων των συνδέσμων και των φορμών.
Ακολουθήστε τα παρακάτω βήματα για να προσθέσετε τον Προεπεξεργαστή:
- Προσθέστε ομάδα νήματος στο σχέδιο δοκιμών.
- Προσθήκη Sampler 'HTTP Request'
- Προσθήκη απλού ελεγκτή.
- Προσθέστε ένα άλλο δείγμα 'Αίτημα HTTP'.
- Προσθέστε προεπεξεργαστή HTML Link Parser.
- Προσθήκη ακροατή 'Προβολή δέντρων αποτελεσμάτων'.
Παράδειγμα:
Για να δείτε τον τρόπο ανίχνευσης των εσωτερικών σελίδων, μπορείτε να εκτελέσετε τα παρακάτω βήματα:
- Στο Thread Group, προσθέστε το Sampler 'HTTP Request' και δώστε το όνομα διακομιστή ή IP. Μετονομάστε το όνομα του δείγματος ως HTTP Request_Main.
- Προσθέστε το Simple Controller στο σχέδιο δοκιμών.
- Προσθέστε ένα ακόμη δείγμα 'HTTP Request' και δώστε όνομα διακομιστή ή IP και επίσης παρέχετε /. * στη διαδρομή έτσι ώστε να μπορεί να ανιχνεύσει όλους τους συνδέσμους που βρέθηκαν. Μετονομάστε το όνομα του δείγματος ως HTTP Request_Internal.
- Προσθέστε τον προεπεξεργαστή 'HMTL Link Parser' και τον ακροατή ως 'View Result Tree' για να δείτε την έξοδο.
Ακολουθώντας τα παραπάνω βήματα, η έξοδος για το πρώτο δείγμα θα είναι το όνομα του ιστότοπου στο πεδίο αίτησης, ενώ για το δεύτερο δείγμα, η έξοδος θα είναι οι εσωτερικές σελίδες που ανιχνεύονται στον παρεχόμενο ιστότοπο. Ανατρέξτε στα παρακάτω στιγμιότυπα οθόνης για το ίδιο.
# 4) Τροποποιητής επανεγγραφής URL HTTP
Για τη διαχείριση της διεύθυνσης URL πληροφοριών περιόδου λειτουργίας, χρησιμοποιείται τεχνική επανεγγραφής. Έχει ένα πλεονέκτημα ότι ακόμη και αν το cookie είναι απενεργοποιημένο σε οποιοδήποτε σύστημα, εξακολουθεί να έχει τη δυνατότητα να λειτουργεί.
Για να προσθέσετε τον Προεπεξεργαστή παρακάτω ακολουθούνται τα βήματα:
- Προσθέστε την ομάδα νήματος στο σχέδιο δοκιμών.
- Προσθήκη αιτήματος HTTP στο σχέδιο δοκιμών.
- Προσθέστε τον προεπεξεργαστή 'HTTP URL Re-write Modifier' στο Πρόγραμμα δοκιμών.
- Προσθέστε ένα ακόμη Sampler 'HTTP Request' στο νήμα.
Μπορούμε να χρησιμοποιήσουμε αυτόν τον προεπεξεργαστή ως εξής:
Αυτός ο προεπεξεργαστής μπορεί να εφαρμοστεί και στο επίπεδο του νήματος και στο συγκεκριμένο δείγμα. Εάν εφαρμοστεί σε επίπεδο νήματος, θα προσθέσει το όρισμα για κάθε αίτημα που υπάρχει στο νήμα.
Όνομα επιχειρήματος συνεδρίας : Το όνομα της παραμέτρου αναγνωριστικού περιόδου σύνδεσης πρέπει να καθοριστεί σε αυτό το πεδίο. Το όνομα της παραμέτρου βρίσκεται στην απόκριση. Αυτή η παράμετρος θα πραγματοποιηθεί αναζήτηση στη σελίδα και όπου βρίσκεται, θα ληφθεί η εκχωρημένη τιμή της.
b δέντρο και b + δέντρο
Επέκταση διαδρομής: Σε περίπτωση που η εφαρμογή ξαναγράψει τη διεύθυνση URL προσθέτοντας ένα ερωτηματικό και περιλαμβάνει επίσης το αναγνωριστικό περιόδου σύνδεσης, αυτή η επιλογή πρέπει να γίνει.
Μην χρησιμοποιείτε ίσο στην επέκταση διαδρομής: Σε περίπτωση που η εφαρμογή ξαναγράψει URL χωρίς το '=' σημάδι μεταξύ ονόματος παραμέτρου και τιμής, αυτή η επιλογή πρέπει να ελεγχθεί.
Μην χρησιμοποιείτε ερωτηματικό στην επέκταση διαδρομής - Εάν η εφαρμογή απαιτείται για να σταματήσει η συμβολοσειρά ερωτήματος από το κλείσιμο ή το τέλος της επέκτασης διαδρομής, θα πρέπει να ελεγχθεί η επιλογή.
Αναγνωριστικό περιόδου σύνδεσης προσωρινής μνήμης: Σε περίπτωση που απαιτείται το αναγνωριστικό περιόδου σύνδεσης για μεταγενέστερη χρήση, αυτή η επιλογή πρέπει να γίνει.
Κωδικοποίηση διεύθυνσης URL: Σε περίπτωση που απαιτούνται κωδικοποιημένες διευθύνσεις URL, αυτή η επιλογή πρέπει να επιλεγεί.
# 5) Παράμετροι χρήστη RegEx
Αυτός ο προεπεξεργαστής επιτρέπει στη δυναμική τιμή για τις παραμέτρους HTTP να ανακτηθεί από το αίτημα HTTP με τον κανονικό εξολκέα έκφρασης. Έχει ρυθμιστεί σε ανεξάρτητα νήματα σε ένα σχέδιο δοκιμών.
Για να προσθέσετε τον Προεπεξεργαστή παρακάτω ακολουθούνται τα βήματα:
- Προσθέστε μια ομάδα νήματος σε ένα δοκιμαστικό σχέδιο.
- Προσθέστε αίτημα HTTP σε μια ομάδα νήματος με όνομα διακομιστή ή IP.
- Προσθέστε το Postprocessor 'Regular Expression Extractor' για εξαγωγή τιμών.
- Προσθέστε ένα άλλο αίτημα HTTP σε μια ομάδα νήματος και δώστε όνομα διακομιστή ή IP.
- Προσθέστε τον προεπεξεργαστή 'Regex User Parameter' στο δεύτερο αίτημα HTTP.
Αυτός ο προεπεξεργαστής μπορεί να χρησιμοποιηθεί ως εξής:
Όνομα αναφοράς κανονικής έκφρασης: Το καθορισμένο όνομα αναφοράς θα έχει τις μεταβλητές που πρέπει να έχουν αναλυθεί από το πρώτο αίτημα HTTP.
Παράμετροι ονόματα regexp αριθμός ομάδας: 1 αντιπροσωπεύει αυτήν την ομάδα 1 του regexp. Θα επιστρέψει το ονόματα των μεταβλητών .
Τιμές παραμέτρου αριθμός ομάδας regex: 2 αντιπροσωπεύει αυτήν την ομάδα 2 του regexp. Θα επιστρέψει το τιμές των μεταβλητών .
# 6) Προεπεξεργαστής BeanShell
Αυτός ο προεπεξεργαστής λαμβάνει μια τυχαία τιμή από μια συγκεκριμένη λίστα. Μπορεί να δημιουργήσει τυχαίες συμβολοσειρές για την εκχώρηση τιμών στις μεταβλητές.
Ο προεπεξεργαστής BeanShell προστίθεται κάτω από το δείγμα.
Για να προσθέσετε τον Προεπεξεργαστή παρακάτω ακολουθούνται τα βήματα:
- Προσθέστε ομάδα νήματος στο σχέδιο δοκιμών.
- Προσθέστε το Sampler στην ομάδα νήματος.
- Προσθέστε 'BeanShell Preprocessor' στο πρόσθετο δείγμα.
Παράδειγμα:
Σε περίπτωση που η καθορισμένη από τον χρήστη μεταβλητή έχει οριστεί σε 'true' ως τιμή και αυτή η τιμή πρέπει να αλλάξει σε 'false', η παρακάτω παρεχόμενη εντολή μπορεί να χρησιμοποιηθεί για να κάνει το ίδιο. (Η διαγραφή είναι καθορισμένη από τον χρήστη μεταβλητή, η αξία της οποίας πρέπει να αλλάξει))
vars.put(“delete”,”false”);
Εάν πρόκειται να χρησιμοποιηθεί κάποιο εξωτερικό σενάριο, σε αυτήν την περίπτωση, το αρχείο μπορεί να μεταφορτωθεί για το σενάριο στο πεδίο Όνομα αρχείου. Παρέχεται επιλογή αναζήτησης για να ανεβάσετε το εξωτερικό αρχείο.
Συχνές ερωτήσεις σχετικά με τον προεπεξεργαστή JMeter
Q # 1) Τι είναι ένας προεπεξεργαστής στο JMeter;
Απάντηση : Ο προεπεξεργαστής είναι το στοιχείο που χρησιμοποιείται για την εκτέλεση των ενεργειών πριν από την εκτέλεση του αιτήματος δειγματοληψίας. Υπάρχει ένας αριθμός προεπεξεργαστών που μπορούν να χρησιμοποιηθούν για την επίτευξη διαφορετικών σκοπών όπως η διατήρηση της τιμής στη μεταβλητή, η λήψη δεδομένων από βάσεις δεδομένων κ.λπ. Οι προεπεξεργαστές μπορούν να προστεθούν είτε στο επίπεδο Sampler είτε στο επίπεδο του νήματος.
Q # 2) Τι είναι ο προεπεξεργαστής Beanshell στο JMeter;
Απάντηση : Το BeanShell βασίζεται σε σενάριο και είναι ένα ενσωματωμένο στοιχείο του JMeter. Αυτός ο προεπεξεργαστής χρησιμοποιείται για την εκτέλεση του σεναρίου πριν από την εκτέλεση του Sampler.
συμπέρασμα
Προεπεξεργαστές JMeter - όπως συζητήσαμε τρέχει λίγο πριν εκτελεστεί το δείγμα. JSR223 και Beanshell είναι προεπεξεργαστές που βασίζονται σε δέσμες ενεργειών ενώ JDBC χρησιμοποιείται για δραστηριότητες βάσης δεδομένων, καθώς απαιτείται ανάκτηση ή ανάκτηση δεδομένων.
Αναλυτής συνδέσμου HTML και παράμετρος χρήστη RegEx δεν χρησιμοποιούνται τόσο δημοφιλείς όσο άλλοι προεπεξεργαστές αλλά εξυπηρετούν τον σκοπό όπως απαιτείται και έχουν τα δικά τους πλεονεκτήματα.
Συνιστώμενη ανάγνωση
- JMeter Listeners: Ανάλυση αποτελεσμάτων με διαφορετικούς ακροατές
- Παράμετρος δεδομένων JMeter με χρήση μεταβλητών καθορισμένων από τον χρήστη
- Μεταβλητές και συναρτήσεις JMeter
- Τρόπος επίτευξης συσχέτισης JMeter με παράδειγμα
- Top 5 JMeter Plugins και πώς να τα χρησιμοποιήσετε (με παραδείγματα)
- Χρονοδιακόπτες JMeter: Constant, BeanShell και Guassian Random Timer
- Jmeter Controllers Μέρος 2
- Jmeter Controllers Μέρος 1