Θα συζητήσουμε τη δομή JSON, παραδείγματα και λεπτομερή πρακτική εμπειρία για να γράψουμε JSON στον κώδικά μας. Αλλά, πρώτα, ας βουτήξουμε στο άρθρο μας!
Τι είναι το Cypress Json: Παράδειγμα, Σχήμα, Λεπτομερής Ανάλυση Hands-On
Στο προηγούμενο μας άρθρο, συζητήσαμε μεταβλητές και ψευδώνυμα και πώς να γράψουμε την πρώτη δοκιμαστική περίπτωση. Τώρα, θα συζητήσουμε το Cypress JSON και πώς να το ενσωματώσουμε στον κώδικά μας.

Πίνακας περιεχομένων
- Αρχείο Cypress JSON
- Προεπιλεγμένες επιλογές JSON
- Παγκόσμιες επιλογές
- Cypress JSON Timeout
- Cypress Read JSON Αρχείο
- Στιγμιότυπο οθόνης και Επιλογές βίντεο
- Viewport και Actionability
- Παράδειγμα Cypress JSON
- Σειρά JSON Fixture Cypress
- Κυπαρίσσι env JSON
- Κυπαρίσσι JSON Reporter
- Κυπαρίσσι packet-lock.json
Αρχείο Cypress JSON
Όπως είδαμε νωρίτερα, την πρώτη φορά που ανοίγουμε το Cypress Test Runner, δημιουργεί ένα κυπαρίσσι.json αρχείο. Αυτό το αρχείο χρησιμοποιείται για να περάσει οποιεσδήποτε τιμές διαμόρφωσης χρειαζόμαστε. Έτσι, πρώτα, θα εξετάσουμε τις επιλογές που μπορούμε να περάσουμε στις δικές μας cypress.json
αρχείο.
Προεπιλεγμένες επιλογές JSON
Ορισμένες επιλογές ορίζονται από προεπιλογή στο Cypress. Ωστόσο, μπορούμε να τα προσαρμόσουμε σύμφωνα με το έργο μας. Για να προσδιορίσετε τις προεπιλεγμένες τιμές που έχουν οριστεί από το Cypress, μεταβείτε στο ρυθμίσεις φάκελο στο Cypress Test Runner. Από εκεί, επεκτείνετε την επιλογή Διαμόρφωση για να δείτε τις προεπιλεγμένες επιλογές που έχουν οριστεί από το Cypress.

Οι επιλογές είναι οι προεπιλεγμένες διαμορφώσεις που παρέχονται από το Cypress.
{
animationDistanceThreshold:5
baseUrl:null
blockHosts:null
browsers:Chrome, Firefox, Electron
chromeWebSecurity:true
component:{}
componentFolder:"cypress/component"
defaultCommandTimeout:4000
downloadsFolder:"cypress/downloads"
e2e:{}
env:null
execTimeout:60000
experimentalFetchPolyfill:false
experimentalInteractiveRunEvents:false
experimentalSourceRewriting:false
experimentalStudio:false
fileServerFolder:""
firefoxGcInterval:runMode, openMode
fixturesFolder:"cypress/fixtures"
hosts:null
ignoreTestFiles:".hot-update.js" includeShadowDom:false integrationFolder:"cypress/integration" modifyObstructiveCode:true nodeVersion:"default" numTestsKeptInMemory:50 pageLoadTimeout:60000 pluginsFile:"cypress/plugins" port:null projectId:"hpcsem" redirectionLimit:20 reporter:"spec" reporterOptions:null requestTimeout:5000 responseTimeout:30000 retries:runMode, openMode screenshotOnRunFailure:true screenshotsFolder:"cypress/screenshots" scrollBehavior:"top" supportFile:"cypress/support" taskTimeout:60000 testFiles:"/.*"
trashAssetsBeforeRuns:true
userAgent:null
video:true
videoCompression:32
videosFolder:"cypress/videos"
videoUploadOnPasses:true
viewportHeight:660
viewportWidth:1000
waitForAnimations:true
watchForFileChanges:true
}
Επιλογές
Μπορούμε να αλλάξουμε τις προεπιλεγμένες επιλογές του Cypress περνώντας τυχόν ορίσματα που είναι συμβατά με το έργο μας. Όπως υποδηλώνει το όνομα, το cypress.json είναι ένα αρχείο JSON, οπότε πρέπει να περάσουμε τα επιχειρήματά μας σε μορφή JSON. Στον κώδικα VS, θα μπορούσατε να δείτε ότι το cypress.json είναι κενό χωρίς να μεταβιβάζονται ορίσματα σε αυτό. Τώρα ας δούμε τις διαφορετικές επιλογές που μπορούμε να περάσουμε στο αρχείο JSON.
Παγκόσμιες επιλογές
Μπορούμε να περάσουμε τις καθολικές επιλογές σε επιχειρήματα που πρέπει να έχουν πρόσβαση σε παγκόσμιο επίπεδο. Για παράδειγμα, στον παρακάτω πίνακα, η στήλη Επιλογές αντιπροσωπεύει τη λέξη -κλειδί που θα περάσουμε στο αρχείο JSON. Η προεπιλογή υποδεικνύει την προεπιλεγμένη τιμή της συγκεκριμένης επιλογής που έχει οριστεί από το Cypress και η Περιγραφή δείχνει την έννοια της επιλογής.
Επιλογή | Αθέτηση | Περιγραφή |
---|---|---|
baseUrl | null | Μπορούμε να ορίσουμε τη διεύθυνση URL καθολικά αντί να περνά σε κάθε αρχείο. Μπορεί να χρησιμοποιηθεί για cy.visit() or cy.request() εντολές |
clientCertificates | [] | Μπορείτε να χρησιμοποιήσετε αυτήν την επιλογή για τη διαμόρφωση πιστοποιητικών πελάτη σε διεύθυνση URL |
env | {} | Μπορείτε να περάσετε οποιαδήποτε μεταβλητή περιβάλλοντος ως τιμή. Αυτή η επιλογή θα είναι χρήσιμη εάν δοκιμάζουμε την εφαρμογή μας σε διαφορετικά περιβάλλοντα, όπως σκηνοθεσία ή παραγωγή. |
watchForFileChanges | true | Αυτή η επιλογή ελέγχει εάν το Cypress παρακολουθεί και κάνει επανεκκίνηση δοκιμών για τυχόν αλλαγές αρχείου. |
port | null | Μπορούμε να δώσουμε τον αριθμό θύρας στη φιλοξενία Κυπαρίσσι. Δημιουργείται μια τυχαία θύρα, αλλά μπορούμε να προσθέσουμε τον αριθμό θύρας που χρειαζόμαστε. |
numTestsKeptInMemory | 50 | Αυτή η επιλογή είναι ο αριθμός δοκιμαστικών στιγμιότυπων και δεδομένων εντολών που είναι αποθηκευμένα στη μνήμη. Εάν υπάρχει μεγάλη κατανάλωση μνήμης στο πρόγραμμα περιήγησης κατά τη διάρκεια μιας δοκιμαστικής λειτουργίας, μπορούμε να μειώσουμε τον αριθμό. |
retries | { "runMode": 0, "openMode": 0 } | Αυτή η επιλογή είναι να καθορίσετε τον αριθμό των επαναλαμβανόμενων δοκιμών που αποτυγχάνουν. Μπορούμε να το διαμορφώσουμε ξεχωριστά για κυπαρισσί τρέξιμο και κυπαρίσσι ανοιχτό. |
redirectionLimit | 20 | Μπορούμε να διαμορφώσουμε το όριο για τον αριθμό των φορών που μπορεί να ανακατευθυνθεί η εφαρμογή πριν εμφανιστεί σφάλμα. |
includeShadowDom | false | Η δυνατότητα πλοήγησης στο εσωτερικό του Shadow DOM για αλληλεπίδραση με στοιχεία. Από προεπιλογή, έχει οριστεί σε false. Εάν η εφαρμογή μας έχει οποιοδήποτε στοιχείο που απαιτεί πλοήγηση σκιώδους ρίζας, μπορείτε να το ορίσετε σε true . |
Cypress JSON Timeout
Το Timeout είναι μία από τις πιο σημαντικές έννοιες σε οποιοδήποτε πλαίσιο αυτοματισμού. Το Cypress παρέχει μια ποικιλία επιλογών που βοηθούν στο χειρισμό των χρονικών ορίων στα σενάρια μας. Αρχικά, θα εξετάσουμε τις επιλογές που μπορούμε να διαμορφώσουμε.
Επιλογή | Αθέτηση | Περιγραφή |
---|---|---|
defaultCommandTimeout | 4000 | Αυτή η επιλογή είναι να περιμένετε να φορτωθούν οι εντολές που βασίζονται σε στοιχεία DOM. Αυτό είναι σε χιλιοστά του δευτερολέπτου. |
requestTimeout | 5000 | Χρόνος, σε χιλιοστά του δευτερολέπτου, για να περιμένετε μέχρι το αίτημα της εντολής cy.wait () για να περάσει το χρονικό όριο. |
responseTimeout | 30000 | Αυτό το χρονικό όριο είναι να περιμένετε μέχρι μια απάντηση σε μια σειρά εντολών όπως π.χ. cy.request() , cy.wait() , cy.fixture() , cy.getCookie() , cy.getCookies() , cy.setCookie() , cy.clearCookie() , cy.clearCookies() και cy.screenshot() εντολές |
taskTimeout | 60000 | Χρονικό όριο, σε χιλιοστά του δευτερολέπτου, για την ολοκλήρωση για την εκτέλεση του cy.task() εντολή |
execTimeout | 60000 | Αυτή τη φορά σε χιλιοστά του δευτερολέπτου είναι να περιμένετε για να ολοκληρωθεί η εκτέλεση του cy.exec() εντολή,που είναι η ολοκλήρωση της εντολής συστήματος |
pageLoadTimeout | 60000 | Αυτό το τάιμ άουτ περιμένει page navigation events ή εντολές που αλληλεπιδρούνμε τις σελίδες όπως cy.visit() , cy.go() , cy.reload() |
Cypress Read JSON Αρχείο
Μερικές φορές, θα χρειαστεί να αλληλεπιδράσουμε με τους φακέλους ή τα αρχεία στο έργο μας. Για να αλληλεπιδράσουμε, πρέπει να ορίσουμε ορισμένες επιλογές στο δικό μας cypress.json
αρχείο για χειρισμό των αρχείων. Έτσι, πρώτα, ας εξετάσουμε τις διαθέσιμες επιλογές στη διαμόρφωση φακέλων/ αρχείων.
Επιλογή | Αθέτηση | Περιγραφή |
---|---|---|
downloadsFolder | cypress/downloads | Αυτή είναι η διαδρομή όπου πραγματοποιείται λήψη και αποθήκευση των αρχείων κατά τη διάρκεια μιας δοκιμαστικής εκτέλεσης |
fixturesFolder | cypress/fixtures | Αυτή είναι η διαδρομή προς το φάκελο που περιέχει τα αρχεία προσαρτήματος. Μπορούμε να περάσουμε false για να απενεργοποιήσετε την αποθήκευση των αρχείων. |
ignoreTestFiles*.hot-update.jsYou can pass this as a string or array of global patterns to ignore test files for the test run. However, it would be displayed in the test files. | ||
integrationFolder | cypress/integration | Τα αρχεία δοκιμών ενσωμάτωσης αποθηκεύονται σε αυτήν τη διαδρομή προς το φάκελο. |
pluginsFile | cypress/plugins/index.js | Αυτή η διαδρομή είναι όπου αποθηκεύονται τα πρόσθετα. Μπορείτε να περάσετε το όρισμα ως ψευδές για να απενεργοποιήσετε αυτήν τη διαμόρφωση. |
screenshotsFoldercypress/screenshotsScreenshots from the execution of cy.screenshot() command and test failure during cypress run are stored in this foldersupportFilecypress/support/index.jsHere the test files that load before the test are stored. You have the option to disable by passing | ||
testFiles | **/*.* | Διαδρομή προς τα αρχεία δοκιμής που πρέπει να φορτωθούν. Είναι είτε μια συμβολοσειρά είτε μια σειρά από καθολικά μοτίβα. |
videosFolder | cypress/videos | Διαδρομή φακέλου που θα αποθηκεύει βίντεο κατά τη διάρκεια της δοκιμαστικής εκτέλεσης |
Στιγμιότυπα οθόνης και Επιλογές βίντεο
Μπορούμε να διαμορφώσουμε τα στιγμιότυπα και τα βίντεό μας στο αρχείο μας cypress.json () και το Cypress μας παρέχει ορισμένες επιλογές για να προσαρμόσουμε τη διαμόρφωσή μας.
Επιλογή | Αθέτηση | Περιγραφή |
---|---|---|
screenshotOnRunFailure | true | Επιλογή για να ορίσετε είτε σε αληθινό είτε σε ψευδές εάν το Cypress τραβάει ένα στιγμιότυπο οθόνης κατά την αποτυχία της δοκιμής όταν τρέχει το κυπαρίσσι. Έχει οριστεί σε true από προεπιλογή |
trashAssetsBeforeRuns | true | Αυτή η επιλογή είναι να απορρίψετε τα περιουσιακά στοιχεία στο videosFolder , downloadsFolder και screenshotsFolder πριν από κάθε cypress run |
videoCompression | 32 | Αυτή η επιλογή είναι η ποιότητα της συμπίεσης βίντεο που μετριέται στον συντελεστή σταθερού ρυθμού (CRF). Με το πέρασμα false , μπορείτε επίσης να απενεργοποιήσετε αυτήν την επιλογή. Μπορείτε να περάσετε τιμές από 0 έως 51, όπου η χαμηλότερη τιμή δίνει καλύτερη ποιότητα. |
videosFolder | cypress/videos | Ο φάκελος όπου αποθηκεύεται το βίντεο των δοκιμών. |
video | true | Boolean value για λήψη του βίντεο της εκτέλεσης δοκιμής με cypress run . |
videoUploadOnPasses | true | Αυτή η επιλογή είναι να ανεβάσετε τα βίντεο στον Πίνακα ελέγχου όταν περάσουν όλες οι δοκιμαστικές περιπτώσεις σε ένα αρχείο προδιαγραφών. |
Viewport και Actionability
Μπορείτε να διαμορφώσετε και να περάσετε τιμές για να αλλάξετε το ύψος και το πλάτος της θύρας προβολής με τις επιλογές που παρέχονται από το Cypress. Οι επιλογές δράσης μπορούν επίσης να διαμορφωθούν.
Επιλογή | Αθέτηση | Περιγραφή |
---|---|---|
viewportHeight | 660 | Αυτό γίνεται για να παρέχει το προεπιλεγμένο ύψος για την εφαρμογή σε pixel. Μπορούμε να παρακάμψουμε αυτήν την εντολή με cy.viewport() |
viewportWidth | 1000 | Επιλογή για το πλάτος της θύρας προβολής σε pixel για την εφαρμογή. Μπορεί να παρακαμφθεί με cy.viewport() εντολή. |
animationDistanceThreshold | 5 | Η τιμή κατωφλίου για την απόσταση που μετριέται σε εικονοστοιχεία όπου ένα στοιχείο πρέπει να υπερβαίνει λαμβάνοντας υπόψη το χρόνο για την εμψύχωση. |
waitForAnimations | true | Επιλογή αναμονής για την ολοκλήρωση της κινούμενης εικόνας από τα στοιχεία πριν εκτελέσετε οποιεσδήποτε εντολές. |
scrollBehavior | top | Αυτή είναι μια επιλογή θυρίδας προβολής που πρέπει να μεταβείτε σε ένα στοιχείο ακριβώς πριν εκτελέσετε οποιεσδήποτε εντολές. Οι διαθέσιμες επιλογές είναι 'center' , 'top' , 'bottom' , 'nearest' , ή false , Όπου το false απενεργοποιεί την κύλιση. |
Παράδειγμα Cypress JSON
Νωρίτερα, είδαμε τις διαφορετικές διαμορφώσεις που μπορούμε να περάσουμε στις δικές μας cypress.json
αρχείο. Τώρα, θα εξετάσουμε ένα παράδειγμα για το πώς να τα χρησιμοποιήσουμε στο έργο μας.
Παράκαμψη προεπιλεγμένων τιμών στο αρχείο cypress.json
Στον κωδικό VS, ανοίξτε το cypress.json
αρχείο. Θα παρακάμψουμε το defaultCommandTimeout
εντολή προς 8000
.
{
"defaultCommandTimeout" : 8000
}
Έτσι φαίνεται στο έργο κώδικα VS.

Αλλάζοντας το cypress.json
αρχείο, ισχύει για ολόκληρο το πλαίσιο. Μπορούμε να επαληθεύσουμε μεταβαίνοντας στις ρυθμίσεις Cypress. Έχει αλλάξει από μια προεπιλεγμένη τιμή του 4000
προς την 8000

Παράκαμψη προεπιλεγμένων τιμών μέσω του σεναρίου δοκιμής
Μπορούμε επίσης να χειριστούμε τις προεπιλεγμένες τιμές μέσω του σεναρίου δοκιμής μας. Αντί να περάσει στο cypress.json
αρχείο, θα το περάσουμε στο αρχείο δοκιμής μας.
//Changing the timeout from 4 seconds to 8 seconds
Cypress.config('defaultCommandTimeout',8000)
// Test code
cy.get('#username').type(users.email)
cy.get('#pswd').type(users.password)
cy.get('#login_btn').click()
Με αυτόν τον τρόπο, μπορούμε να παρακάμψουμε τις προεπιλεγμένες τιμές στο δοκιμαστικό μας αρχείο. Ωστόσο, αυτό δεν επηρεάζει καμία αλλαγή διαμόρφωσης σε επίπεδο πλαισίου. Το Cypress δίνει προτεραιότητα στις τιμές στο cypress.json
Ε Τέλος, καταλαμβάνει τις παγκόσμιες διαμορφώσεις.
Σειρά JSON Fixture Cypress
Κυπαρίσσι cy.fixture()
είναι μια συνάρτηση που φορτώνει ένα σταθερό σύνολο δεδομένων σε ένα αρχείο. Μπορούμε να χρησιμοποιήσουμε το εξάρτημα ως JSON για να φορτώσουμε τυχόν τιμές ή πίνακα στο αρχείο JSON. Αρχικά, ας καταλάβουμε πώς να αποκτήσουμε πρόσβαση στο αρχείο JSON στο έργο μας.
Το αρχείο μου JSON έχει δύο ιδιότητες: όνομα χρήστη και κωδικό πρόσβασης. Το όνομα αρχείου JSON μου είναι examples.json
.
{
"email": "test@gmail.com",
"password" : test123
}
Στο αρχείο προδιαγραφών μας, θα έχουμε πρόσβαση στο αρχείο μας με την εντολή cy.fixture () και την έννοια του ψευδώνυμα.
cy.fixture('example.json').as('example')
//Using the alias name to this keyword, So we can use globally
const userObj = this.userData
//looping our .json data with a new variable users
cy.get(userData).each((users) =>
{
//Write the test code.
cy.get('#username').type(users.email)
cy.get('#pswd').type(users.password)
}
Κυπαρίσσι env JSON
Οι μεταβλητές περιβάλλοντος χρησιμοποιούνται σε πολλά έργα σε οργανισμούς. Χρησιμοποιούμε μεταβλητές περιβάλλοντος
- όταν οι τιμές είναι δυναμικές σε διαφορετικά μηχανήματα
- όταν θέλουμε να δοκιμάσουμε σε διαφορετικά περιβάλλοντα όπως η σκηνοθεσία, η δοκιμή, η ανάπτυξη, η παραγωγή/ζωντανά
Αυτές οι περιπτώσεις απαιτούν από εμάς να ορίσουμε μεταβλητές περιβάλλοντος. Ωστόσο, εάν ορίσουμε μια μεταβλητή env σε ένα αρχείο προδιαγραφών, δεν αντικατοπτρίζεται σε άλλα αρχεία προδιαγραφών. Αυτό συμβαίνει επειδή το Cypress εκτελεί κάθε αρχείο προδιαγραφών ανεξάρτητα. Με αυτόν τον τρόπο, θα χρειαστεί να διαμορφώσουμε τις μεταβλητές env ξεχωριστά.
Έχουμε πρόσβαση στα αρχεία περιβάλλοντος από το αρχείο Cypress JSON, δηλαδή, cypress.json
αρχείο. Θα πρέπει λοιπόν να εκχωρήσουμε την επιλογή στο δικό μας cypress.json
και το χρησιμοποιήσαμε στο αρχείο προδιαγραφών μας. Ας δούμε λοιπόν το παράδειγμά μας.
Μπορούμε να ορίσουμε τις μεταβλητές περιβάλλοντος στο αρχείο ρυθμίσεων ή cypress.env.json
αρχείο.
Ρύθμιση μεταβλητής περιβάλλοντος στο αρχείο cypress.json
Ορίσαμε την ιδιότητα env από ένα ζεύγος κλειδιού-τιμής. Οποιεσδήποτε τιμές περνούν κάτω από τη λέξη -κλειδί env
εμπίπτουν σε μεταβλητές περιβάλλοντος και το Cypress παίρνει το επιχείρημα από το env
λέξη -κλειδί. Η σύνταξη μοιάζει με την παρακάτω.
{
"env": {
"key1": "value1",
"key2": "value2"
}
}
Αν θέλουμε να έχουμε πρόσβαση στο env
μεταβλητή στο αρχείο προδιαγραφών μας, τις εκχωρούμε όπως αναφέρεται παρακάτω.
Cypress.env() //returns both the key1,value1 and key2, value2
Cypress.env(key1) //returns only the value1
Θα προσθέσουμε το env
διαμόρφωση στο έργο μας και θα έχουν πρόσβαση σε αυτά στο αρχείο προδιαγραφών μας. Στο δικό μας cypress.json
αρχείο, προσθέστε την ακόλουθη διαμόρφωση. Ρυθμίζουμε το δικό μας URL
ιδιοκτησίας και την εκχώρησή τους στη διεύθυνση URL μας. Εδώ, URL
είναι το κλειδί και https://lambdageeks.com/technology/
είναι η τιμή.
{
"env" : {
"url" : "https://lambdageeks.com/technology/"
}
}
Όπως έχουμε δηλώσει τη διαμόρφωση, θα έχουμε πρόσβαση σε αυτά στο αρχείο προδιαγραφών μας. Μοιάζει με κάτι παρακάτω. Όπως προαναφέρθηκε, θα χρησιμοποιήσουμε Cypress.env()
μέθοδο πρόσβασης στη μεταβλητή env.
// type definitions for Cypress object "cy"
// <reference types="cypress" />
describe('Cypress Example ', function () {
it('accessing the environment variable', function () {
//Calling URL from cypress.json
cy.visit(Cypress.env('url'));
})
})
Ρύθμιση μεταβλητής περιβάλλοντος στο αρχείο cypress.env.json
Μπορούμε να αντιστοιχίσουμε τη μεταβλητή περιβάλλοντος στο αρχείο μας JPS του κυπαρισσιού. Για αυτό, θα πρέπει να δημιουργήσουμε ένα νέο αρχείο που ονομάζεται cypress.env.json
στη ρίζα του έργου. Δεν θα απαιτήσουμε το env
λέξη -κλειδί Αντ 'αυτού, μπορούμε να έχουμε άμεση πρόσβαση σε αυτά περνώντας το ζεύγος κλειδιού-τιμής.
{
"key1": "value1",
"key2": "value2"
}
Ας δούμε πώς να τα αναθέσουμε στο δικό μας cypress.env.json
αρχείο.
{
"url" : "https://lambdageeks.com/",
"urlTechnology" : "https://lambdageeks.com/technology/"
}

Όπως βλέπετε παραπάνω, δημιουργήσαμε ένα νέο αρχείο, cypress.env.json
, και πρόσθεσε το δικό μας URL
ιδιότητες. Ο τρόπος πρόσβασης στις μεταβλητές περιβάλλοντος θα είναι ο ίδιος όπως αναφέρθηκε παραπάνω στην προηγούμενη ενότητα.
Κυπαρίσσι JSON Reporter
Όπως γνωρίζουμε, το κυπαρίσσι είναι χτισμένο στην κορυφή του Μόχα. μπορούν να χρησιμοποιηθούν όλοι οι ρεπόρτερ που έχουν κατασκευαστεί για το Mocha. Μπορούμε να διαμορφώσουμε το ρεπόρτερ στο αρχείο JSON μας σε παγκόσμιο επίπεδο στο δικό μας cypress.json
αρχείο.
reporter | spec | Εδώ, μπορείτε να καθορίσετε τον ρεπόρτερ που πρέπει να δημιουργεί κατά τη διάρκεια του κυπαρισσιού. Έχει οριστεί σε spec ως προεπιλεγμένο ρεπόρτερ. |
reporterOptions | null | Αυτό γίνεται για να καθορίσετε τις υποστηριζόμενες επιλογές για τον ρεπόρτερ. |
Οι επιλογές που αναφέρονται παραπάνω είναι οι ρυθμίσεις παραμέτρων που έχουν οριστεί στο reporter από προεπιλογή. Επιπλέον, το spec
ο ρεπόρτερ ρυθμίζεται από προεπιλογή. Έτσι, στον ρεπόρτερ, μπορούμε να ορίσουμε οποιοδήποτε ρεπόρτερ είναι συμβατό με το Mocha. reporterOptions
είναι να καθορίσετε τις υποστηριζόμενες επιλογές ανάλογα με τον ρεπόρτερ που διαμορφώνουμε.
Ας δούμε πώς να διαμορφώσετε τον ρεπόρτερ στο δικό μας cypress.json
αρχείο.
Ας θεωρήσουμε τον πολυ -ρεπόρτερ μοχθηρό ως ρεπόρτερ μας. Θα εγκαταστήσουμε πρώτα τον ρεπόρτερ και θα τον προσθέσουμε στον δικό μας cypress.json
αρχείο.
npm install --save-dev mocha cypress-multi-reporters mochawesome
Εγκαταστήστε το ρεπόρτερ περνώντας την παραπάνω εντολή στη γραμμή εντολών. Τώρα, στο δικό μας cypress.json
αρχείο, προσθέστε την ακόλουθη ιδιότητα.
"reporter": "cypress-multi-reporters",
"reporterOptions": {
"reportDir": "cypress/reports/multireports",
"overwrite": false,
"html": false,
"json": true
}
Θα κατανοήσουμε λεπτομερώς κάθε ιδιότητα.
δημοσιογράφος: Το όνομα του ρεπόρτερ που ρυθμίζουμε στο έργο μας
έκθεσηΔιευθυντής: Ο κατάλογος όπου πρόκειται να εξάγουμε τα αποτελέσματά μας.
αντικαθιστά: Αυτή η σημαία ζητά αντικατάσταση των προηγούμενων αναφορών.
html: Δημιουργεί την αναφορά για την ολοκλήρωση της δοκιμής.
json: Αν θα δημιουργηθεί ένα αρχείο JSON με την ολοκλήρωση της δοκιμής.

Κυπαρίσσι packet-lock.json
Η καλύτερη pack-lock.json Το αρχείο δημιουργείται αυτόματα για οποιεσδήποτε λειτουργίες όταν το npm τροποποιεί τις λειτουργικές μονάδες κόμβου ή το αρχείο package.json. Όταν προσθέτουμε οποιεσδήποτε επιλογές ή εγκαταστήστε τυχόν νέες εξαρτήσεις στο Cypress μας πακέτο αρχείο JSON και, στη συνέχεια, το Cypress package-lock.json ενημερώνεται αυτόματα.
Πακέτο Cypess.lock JSON Το αρχείο εντοπίζει κάθε πακέτο και την έκδοσή του, έτσι ώστε οι εγκαταστάσεις να διατηρούνται και να ενημερώνονται σε κάθε εγκατάσταση npm παγκοσμίως. Έτσι, στο πακέτο μας Cypress JSON, όταν ενημερώνουμε την έκδοση ή προσθέτουμε οποιαδήποτε εξάρτηση, το pack-lock.json ενημερώνεται επίσης και δεν θέλουμε να κάνουμε καμία αλλαγή σε αυτό.
