how achieve jmeter correlation with example
Αυτό το σεμινάριο εξηγεί τι είναι το JMeter Correlation, γιατί το χρειαζόμαστε και πώς να επιτύχουμε μια συσχέτιση στα σενάρια JMeter:
Η συσχέτιση παίζει πολύ ζωτικό ρόλο στο σενάριο JMeter. Ας καταλάβουμε τι σημαίνει συσχέτιση.
Η συσχέτιση είναι η σχέση μεταξύ δύο ή περισσότερων μεταβλητών. Βοηθά στη λήψη πληροφοριών για τη σχέση με τρόπο που ο χρήστης μπορεί να αποφασίσει για μελλοντικό σχεδιασμό ή δράση που θα αναληφθεί.
Σε αυτό το σεμινάριο, θα μάθετε πώς να επιτύχετε μια συσχέτιση στα σενάρια JMeter.
=> Κάντε κλικ εδώ για Η πλήρης δωρεάν εκπαίδευση στο JMeter (20+ βίντεο)
Τι θα μάθετε:
Εκμάθηση βίντεο συσχέτισης JMeter
καλύτερο δωρεάν πρόγραμμα λήψης youtube σε mp3
Η συσχέτιση βασικά εξάγει αξία από ένα από τα αιτήματα που μπορούν να χρησιμοποιηθούν στο επόμενο αίτημα ή οποιοδήποτε από το αίτημα που πρέπει να εκτελεστεί περαιτέρω.
Για εξαγωγή τιμών από ένα αίτημα, χρειάζεστε επεξεργαστές. Οι προεπεξεργαστές όπως το HTMLLinkParser μπορούν να εξαγάγουν όλους τους συνδέσμους από μια σελίδα που λαμβάνεται ως απάντηση.
Για την πλειονότητα των περιπτώσεων, οι μεταεπεξεργαστές όπως το XPath και το Regular Expression Extractor χρησιμοποιούνται για την εξαγωγή τιμών από την απόκριση και, στη συνέχεια, αποθηκεύουν την τιμή σε μια μεταβλητή. Τώρα, η ίδια μεταβλητή μπορεί να χρησιμοποιηθεί στο επόμενο αίτημα ή σε οποιοδήποτε αίτημα που θα εκτελεστεί αργότερα.
Τις περισσότερες φορές, θα δείτε το JMeter να καταγράφει μια περίοδο λειτουργίας, να μαγειρεύεται, να διαθέτει διαπιστευτήρια σύνδεσης σε ορισμένες περιπτώσεις και, στη συνέχεια, να τα χρησιμοποιεί για άλλα αιτήματα ως παράμετρο.
Κατανόηση της συσχέτισης JMeter
Αυτό το σεμινάριο θα σας δώσει μια σαφή κατανόηση του γιατί και πού χρειαζόμαστε Συσχέτιση στο σενάριο JMeter. Θα δούμε επίσης πώς γίνεται η συσχέτιση με ένα παράδειγμα.
Πού χρειαζόμαστε συσχέτιση
Χρησιμοποιείται όταν απαιτούνται δυναμικές τιμές από την απόκριση προηγούμενων αιτημάτων για την κάλυψη περαιτέρω αιτημάτων.
Δοκιμή απόδοσης για Στατικός ιστότοπος δεν απαιτεί προσαρμογή , μπορεί να λειτουργήσει με την κανονική λειτουργικότητα της εγγραφής και να εκτελεστεί με τον αριθμό των νημάτων, επομένως δεν απαιτείται συσχέτιση σε στατικούς ιστότοπους.
Αυτές τις μέρες, οι περισσότεροι ιστότοποι έχουν δυναμικό περιεχόμενο που επιστρέφεται από τον διακομιστή ιστού. Για κάθε επαναληπτικό αίτημα, η δυναμική απόκριση έχει πάντα διαφορετικά δεδομένα ως αντάλλαγμα. Για την αντιμετώπιση του ίδιου συσχετισμού απαιτείται για δυναμικούς ιστότοπους.
Γιατί χρειαζόμαστε συσχέτιση
Η συσχέτιση για δυναμικές αποκρίσεις λειτουργεί με τρόπο που εξάγει τη δυναμική τιμή από την απόκριση και την τοποθετεί σε μια μεταβλητή που χρησιμοποιείται περαιτέρω από τα απαιτούμενα αιτήματα, ώστε το σενάριο να μην αποτύχει.
Παράδειγμα: Σε περίπτωση που δημιουργηθεί ένα σενάριο για να συνδεθεί ένας χρήστης και να εκτελέσει άλλες δραστηριότητες στην αρχική σελίδα, το σενάριο θα λειτουργήσει για μία μόνο φορά και θα αποτύχει για την επόμενη φορά, καθώς ο χρήστης συνδέεται για την πρώτη συνεδρία, οι μεταβλητές δημιουργούνται δυναμικά και αυτές οι μεταβλητές συνεδρίας βοηθούν στον έλεγχο ταυτότητας των δραστηριοτήτων που εκτελούνται στα διαδοχικά αιτήματα.
Οποτε εδω πρέπει να συσχετίσουμε αιτήματα ιστού και δυναμικές μεταβλητές για να επιτύχει το σενάριο, το οποίο μπορεί να γίνει με δύο τρόπους.
Ένας τρόπος είναι ο προγραμματιστής να ανακαλύψει μεταβλητές που θα συσχετιστούν και να τις χαρτογραφήσει για αντικατάσταση σε διαδοχικά αιτήματα. Αυτή είναι μια χειροκίνητη διαδικασία.
Η χειροκίνητη διαδικασία είναι επιτυχής για μικρά σενάρια μόνο επειδή έχουν λιγότερα σημεία συσχέτισης και καθώς ο αριθμός των μεταβλητών που θα συσχετιστούν αυξάνεται, αυξάνεται επίσης ο αριθμός των πιθανών σφάλματος.
Η συσχέτιση του μεγάλου σεναρίου θα πρέπει να αυτοματοποιηθεί, καθώς θα μειώσει τις προσπάθειες και το χρόνο και οι πιθανότητες λάθους δεν θα είναι εκεί.
Πώς μπορεί να γίνει η συσχέτιση
Μπορεί να πραγματοποιηθεί συσχέτιση JMeter
- Χρήση επεξεργαστή μετά 'Εξαγωγέας κανονικής έκφρασης'.
- Μεταβλητή για επαναχρησιμοποίηση όπου υπάρχουν δυναμικά δεδομένα.
Ας δούμε ένα παράδειγμα του τρόπου με τον οποίο χρησιμοποιείται ο 'Εξαγωγέας τυπικής έκφρασης' στη συσχέτιση των μεταβλητών.
Η τυπική έκφραση Extractor θα προστεθεί στο αίτημα δειγματοληψίας από το οποίο ο χρήστης θέλει να πάρει την τιμή.
Sampler -> Add-> Post Processor -> Εξαγωγέας κανονικής έκφρασης.
Τα διαδοχικά αιτήματα θα μπορούν να χρησιμοποιούν μια μεταβλητή τιμή για να αντιστοιχούν δυναμικά.
Ακολουθεί ένα παράδειγμα για την κατανόηση της συσχέτισης στο JMeter.
Βήματα :
# 1) Προσθέστε μια ομάδα νήματος στο Σχέδιο δοκιμών.
#δύο) Προσθέστε το Sampler 'HTTP Request' στο σχέδιο δοκιμών και μετονομάστε το Request 1 και τοποθετήστε το όνομα διακομιστή ή IP του ιστότοπου.
# 3) Προσθέστε τον 'επεξεργαστή τακτικής έκφρασης' στο πρόγραμμα δοκιμών για να εξαγάγετε την τιμή από την απόκριση του Sampler Request 1.
Μόλις προστεθεί ο εξολκέας, Οι παρακάτω τιμές πρέπει να συμπληρωθούν για εξαγωγή της τιμής:
- Όνομα της δημιουργούμενης μεταβλητής: Αντιπροσωπεύει το όνομα της μεταβλητής JMeter όπου θα αποθηκευτεί η εξαχθείσα τιμή.
- Κοινή έκφραση: Είναι η έκφραση που καθορίζει τα δεδομένα από την απόκριση.
- Πρότυπο : Τα πρότυπα αναφέρονται στις ομάδες τυπικών εκφράσεων. $ 1 $ σύνταξη αντιπροσωπεύει την ομάδα 1, παρόμοια $ 2 $ σύνταξη αντιπροσωπεύει την ομάδα 2, και ούτω καθεξής.
- Αριθμός αγώνα: Εάν παρέχεται 0, το JMeter επιλέγει οποιοδήποτε τυχαίο αγώνα.
- Προεπιλεγμένη τιμή: Η προεπιλεγμένη τιμή λαμβάνεται υπόψη όταν καμία τιμή δεν ταιριάζει με την κανονική έκφραση. Ο χρήστης μπορεί να παράσχει την Προεπιλεγμένη τιμή όπως θέλει ως 'Ο έλεγχος ταυτότητας απέτυχε', 'Δεν βρέθηκε' κ.λπ. οτιδήποτε καθορίζει το σφάλμα.
# 4) Προσθέστε ένα άλλο Sampler 'HTTP Request' και ονομάστε το Request2. Τα δεδομένα αιτήματος αυτού του δείγματος θα εξαχθούν από τα δεδομένα απόκρισης του πρώτου αιτήματος HTTP που προστέθηκε.
Προσθέστε τη διαδρομή στο αίτημα. Το όνομα του διακομιστή ή της IP δεν απαιτείται εδώ. Η διαδρομή πρέπει να καθοριστεί με $ {Name}
# 5) Προσθέστε τον ακροατή 'Προβολή δέντρων αποτελεσμάτων' στο σχέδιο δοκιμών για να δείτε τη συσχέτιση μεταξύ του αιτήματος 1 και του αιτήματος 2.
# 6) Εκτελέστε το σχέδιο δοκιμής και δείτε το αποτέλεσμα. Το αίτημα 2 θα έχει κάποιες τιμές που θα εξαχθούν από το Request1.
Συχνές ερωτήσεις σχετικά με τη συσχέτιση JMeter
Ε # 1) Πώς κάνετε συσχέτιση και παραμετροποίηση στο JMeter;
Απάντηση : Η παραμετροποίηση χρησιμοποιείται όταν απαιτούνται διαφορετικοί χρήστες σε μεγάλο αριθμό σε ένα σενάριο. Οι διαφορετικοί χρήστες και δεδομένα μπορούν να ληφθούν χρησιμοποιώντας αρχεία CSV. Έτσι, σε περίπτωση που ένα σενάριο εκτελείται με ένα νήμα ως 50, κάθε φορά που θα πάρει μια νέα λεπτομέρεια χρήστη από το αρχείο CSV.
Για τον χειρισμό του μετασχηματιστή Correlation 'Regular expression extractor' χρησιμοποιείται για την εξαγωγή της τιμής της μεταβλητής από το πρώτο αίτημα για το διαδοχικό αίτημα.
Η παράμετρος αναζητά τιμές εισόδου του χρήστη, ενώ η Συσχέτιση αναζητά δεδομένα που επιστρέφονται από το διακομιστή για το αίτημα που δημιουργήθηκε.
Q # 2) Πώς χειρίζεται το JMeter δυναμικές τιμές;
Απάντηση : Για να χειριστείτε τις δυναμικές τιμές JMeter, πρέπει να εκτελεστούν δύο βήματα, δηλαδή ένα για να λάβετε και να αποθηκεύσετε τη δυναμική τιμή από την απόκριση και το δεύτερο για να χρησιμοποιήσετε αυτήν την τιμή στο διαδοχικό αίτημα. Αυτό γίνεται χρησιμοποιώντας τον επεξεργαστή Regular Expressor Extractor.
Q # 3) Πώς συσχετίζει το JMeter τις τιμές κεφαλίδας;
τι είναι μια διπλή μεταβλητή στο java
Απάντηση : Για τη συσχέτιση των τιμών κεφαλίδας στο JMeter απαιτείται 'Μετατροπέας κανονικής έκφρασης'.
- Σε αυτό Εφαρμογή στο - 'Κύριο δείγμα' και για το πεδίο για έλεγχο 'Κεφαλίδες απόκρισης' πρέπει να επιλεγεί.
- Βάλτε τις τιμές για όλα τα πεδία.
- Το όνομα που παρέχεται στο όνομα της δημιουργούμενης μεταβλητής θα έχει την τιμή της μεταβλητής που είναι αποθηκευμένη στο JMeter. Παρέχετε έκφραση στην ενότητα Έκφραση αναφοράς, θα επιλέξει την πραγματική τιμή της παραμέτρου κεφαλίδας απόκρισης.
- Καταχωρίστε το όνομα προτύπου ως $ 1 $.
- Τώρα για να λάβετε την τιμή χρησιμοποιήστε $ και όνομα μεταβλητού σε αγκύλες όπως $ {Variable name}
συμπέρασμα
Η συσχέτιση είναι μια πολύ σημαντική πτυχή του JMeter. Οι στατικοί ιστότοποι δεν απαιτούν συσχέτιση, αλλά οι δυναμικοί ιστότοποι απαιτούν συσχέτιση καθώς ο διακομιστής ανταποκρίνεται σε δυναμικές μεταβλητές που συνεχώς αλλάζουν κάθε φορά. για να ξαναχρησιμοποιηθούν τα σενάρια ξανά και ξανά απαιτείται η συσχέτιση μεταξύ των μεταβλητών τιμών.
Αυτός είναι ο λόγος για τον οποίο ο 'Εξαγωγέας τυπικής έκφρασης' χρησιμοποιείται για την εξαγωγή μεταβλητής τιμής από ένα αίτημα για χρήση σε διαδοχικά αιτήματα.
Συνιστώμενη ανάγνωση
- Χρονοδιακόπτες JMeter: Constant, BeanShell και Guassian Random Timer
- Jmeter Controllers Μέρος 1
- Jmeter Controllers Μέρος 2
- Top 5 JMeter Plugins και πώς να τα χρησιμοποιήσετε (με παραδείγματα)
- Εργασία με αίτημα FTP στο JMeter
- Χρήση Post Processor In JMeter (Regular Expression Extractor)
- Μεταβλητές και συναρτήσεις JMeter
- Δοκιμή βάσης δεδομένων με JMeter