Gherkin Language: Format, Syntax & Gherkin Test in Cucumber

Τι είναι η γλώσσα Gherkin;

Αγγουράκι είναι μια επιχείρηση readable γλώσσα που σας βοηθά να περιγράψετε την επιχειρηματική συμπεριφορά χωρίς να μπείτε στο details της υλοποίησης. Είναι μια συγκεκριμένη γλώσσα για τον καθορισμό δοκιμών σε μορφή Cucumber για προδιαγραφές. Χρησιμοποιεί απλή γλώσσα για να περιγράψει περιπτώσεις χρήσης και επιτρέπει στους χρήστες να αφαιρέσουν τη λογική details από τεστ συμπεριφοράς.

Το κείμενο στη γλώσσα Gherkin λειτουργεί ως τεκμηρίωση και σκελετός των αυτοματοποιημένων δοκιμών σας. Η μορφή Gherkin βασίζεται στη Γραμματική TreeTop που υπάρχει σε 37+ γλώσσες. Επομένως, μπορείτε να γράψετε το αγγουράκι σας σε 37+ ομιλούμενες γλώσσες.

Αυτό το σενάριο εξυπηρετεί δύο πρωταρχικούς σκοπούς:

  • Σενάρια χρήστη εγγράφων
  • Γράφοντας μια αυτοματοποιημένη δοκιμή (BDD)

Γιατί αγγουράκι;

Η ανάγκη για Gherkin μπορεί εύκολα να εξηγηθεί από το following εικόνες

Πριν το αγγουράκι

Πριν το αγγουράκι

Μετά το αγγουράκι

Μετά το αγγουράκι

Σύνταξη Gherkin

Το Gherkin είναι γλώσσα προσανατολισμένη στη γραμμή όπως και η YAML και η Python. Κάθε γραμμή ονομάζεται βήμα και ξεκινά με λέξη-κλειδί και τέλος των τερματικών με μια στάση. Η καρτέλα ή το διάστημα χρησιμοποιούνται για την εσοχή.

Σε αυτό το σενάριο, ένα σχόλιο μπορεί να προστεθεί οπουδήποτε θέλετε, αλλά θα πρέπει να ξεκινά με ένα σύμβολο #. Διάβαζε κάθε γραμμή μετά την αφαίρεση των λέξεων-κλειδιών του Ghrekin όπως δίνονται, όταν, τότε, κ.λπ.

Τυπικά βήματα Gherkin μοιάζουν

Gherkin Scripts: συνδέει την ανθρώπινη έννοια της αιτίας και του αποτελέσματος με την έννοια του λογισμικού εισόδου/διεργασίας/εξόδου.

Σύνταξη Gherkin

Feature: Title of the Scenario
Given [Preconditions or Initial Context]
When [Event or Trigger]
Then [Expected output]

Ένα έγγραφο Gherkin έχει μια επέκταση .feature και απλώς ένα δοκιμαστικό αρχείο με μια φανταχτερή επέκταση. Αγγούρι διαβάζει το έγγραφο Gherkin και εκτελεί μια δοκιμή για να επιβεβαιώσει ότι το λογισμικό συμπεριφέρεται σύμφωνα με τη σύνταξη Gherkin.

Σημαντικοί όροι που χρησιμοποιούνται στο αγγουράκι

  • Χαρακτηριστικό
  • Ιστορικό
  • σενάριο
  • Δεδομένου
  • Όταν
  • Τότε
  • Και
  • Αλλά
  • Παραδείγματα Περίληψης Σεναρίων

Η σύμβαση ονομασίας χρησιμοποιείται για το όνομα του χαρακτηριστικού. Ωστόσο, δεν υπάρχουν συγκεκριμένοι κανόνες στο Cucumber σχετικά με τα ονόματα.

Χαρακτηριστικό

Το αρχείο πρέπει να έχει επέκταση .feature και κάθε αρχείο χαρακτηριστικών θα πρέπει να έχει μόνο ένα χαρακτηριστικό. Η λέξη-κλειδί χαρακτηριστικό είναι με το Feature: και μετά από αυτήν την προσθήκη, θα γραφτεί ένα διάστημα και το όνομα του χαρακτηριστικού.

σενάριο

Κάθε αρχείο χαρακτηριστικών μπορεί να έχει πολλά σενάρια και κάθε σενάριο ξεκινά με το Σενάριο: ακολουθούμενο από το όνομα του σεναρίου.

Ιστορικό

Η λέξη-κλειδί παρασκηνίου σάς βοηθά να προσθέσετε κάποιο πλαίσιο στο σενάριο. Μπορεί να περιέχει ορισμένα βήματα του σεναρίου, αλλά η μόνη διαφορά είναι ότι θα πρέπει να εκτελείται πριν από κάθε σενάριο.

Δεδομένου

Η χρήση της λέξης κλειδιού Δεδομένης είναι να τεθεί το σύστημα σε μια οικεία κατάσταση πριν ο χρήστης αρχίσει να αλληλεπιδρά με το σύστημα. Ωστόσο, μπορείτε να παραλείψετε να γράψετε τις αλληλεπιδράσεις χρήστη στα Δεδομένα βήματα εάν Δόθηκαν στο βήμα "Προϋπόθεση".

Σύνταξη:

Given
Given - a test step that defines the 'context
Given I am on "/."

Όταν

Όταν το βήμα είναι να ορίσετε την ενέργεια που εκτελείται από τον χρήστη.

Σύνταξη:

When
A When - a test step that defines the 'action' performed
When I perform "Sign In."

Τότε

Η χρήση της λέξης κλειδιού «τότε» είναι να δείτε το αποτέλεσμα μετά την ενέργεια στο βήμα πότε. Ωστόσο, μπορείτε να επαληθεύσετε μόνο αξιοσημείωτες αλλαγές.

Σύνταξη:

 Then
Then - test step that defines the 'outcome.'
Then I should see "Welcome Tom."

Και & Αλλά

Μπορεί να έχετε δώσει πολλαπλά όταν ή Τότε.

Σύνταξη:

But
A But - additional test step which defines the 'action' 'outcome.'
But I should see "Welcome Tom."
And - additional test step that defines the 'action' performed
And I write  "EmailAddress" with "Tomjohn@gmail.com."

Δεδομένα, Πότε, Τότε και, αλλά είναι δοκιμαστικά βήματα. Μπορείτε να τα χρησιμοποιήσετε εναλλακτικά. Ο διερμηνέας δεν εμφανίζει κανένα σφάλμα. Ωστόσο, σίγουρα δεν θα έχουν κανένα «νόημα» όταν διαβαστούν.

Σημαντικοί όροι που χρησιμοποιούνται στο αγγουράκι
Σημαντικοί όροι που χρησιμοποιούνται στο αγγουράκι
Given The login page is opening
When I input username, password and click the Login button 
Then I am on the Homepage

Παραδείγματα αγγουριών

Παράδειγμα 1:

Feature:  Login functionality of social networking site Facebook. 
Given:  I am a facebook user. 
When: I enter username as username. 
And I enter the password as the password 
Then I should be redirected to the home page of facebook 

Το σενάριο που αναφέρθηκε παραπάνω αφορά μια δυνατότητα που ονομάζεται σύνδεση χρήστη.

Όλες οι λέξεις που γράφονται με έντονους χαρακτήρες είναι λέξεις-κλειδιά Gherkin.

Το Gherkin θα αναλύσει κάθε βήμα που είναι γραμμένο στο αρχείο ορισμού βημάτων. Επομένως, τα βήματα δίνονται στο αρχείο χαρακτηριστικών και το αρχείο ορισμού βημάτων πρέπει να ταιριάζει.

Παράδειγμα 2:

Feature: User Authentication Background:
Given the user is already registered to the website Scenario:
Given the user is on the login page
When the user inputs the correct email address
And the user inputs the correct password
And the user clicks the Login button
Then the user should be authenticated
And the user should be redirected to their dashboard
And the user should be presented with a success message 

Βέλτιστες πρακτικές χρήσης αγγουριού

  • Κάθε σενάριο πρέπει να εκτελείται χωριστά
  • Κάθε χαρακτηριστικό θα πρέπει να μπορεί να εκτελεστεί μαζί
  • Οι πληροφορίες βημάτων θα πρέπει να εμφανίζονται ανεξάρτητα
  • Συνδέστε το σενάριο σας με τις απαιτήσεις σας
  • Παρακολουθήστε πλήρως τα σενάρια που πρέπει να περιλαμβάνονται σε ένα έγγραφο απαίτησης
  • Δημιουργήστε αρθρωτά και εύκολα κατανοητά βήματα
  • Προσπαθήστε να συνδυάσετε όλα τα κοινά σας σενάρια

Πλεονεκτήματα του αγγουριού

  • Το Gherkin είναι αρκετά απλό για να το καταλάβουν οι μη προγραμματιστές
  • Οι προγραμματιστές μπορούν να το χρησιμοποιήσουν ως μια πολύ σταθερή βάση για να ξεκινήσουν τις δοκιμές τους
  • Διευκολύνει την αφομοίωση των Ιστοριών χρηστών
  • Το σενάριο Gherkin είναι εύκολα κατανοητό από στελέχη επιχειρήσεων και προγραμματιστές
  • Το Gherkin Testing στοχεύει τις επιχειρηματικές απαιτήσεις
  • Ένα σημαντικό ποσοστό των λειτουργικών προδιαγραφών γράφεται ως ιστορίες χρηστών
  • Δεν χρειάζεται να είστε ειδικός για να κατανοήσετε το μικρό σύνολο εντολών Gherkin
  • Οι υποθέσεις Gherkin Test συνδέουν τις δοκιμές αποδοχής απευθείας με τις αυτοματοποιημένες δοκιμές
  • Οι περιπτώσεις δοκιμών στυλ γραφής είναι πιο εύκολο να επαναχρησιμοποιηθούν κώδικας σε άλλες δοκιμές

Μειονεκτήματα του αγγουριού

  • Απαιτεί υψηλό επίπεδο επιχειρηματικής δέσμευσης και συνεργασιών
  • Μπορεί να μην λειτουργεί καλά σε όλα τα σενάρια
  • Οι κακογραμμένες δοκιμές μπορούν εύκολα να αυξήσουν το κόστος δοκιμής-συντήρησης

Χαρακτηριστικά

  • Το αγγουράκι είναι η μορφή για τις προδιαγραφές αγγουριού
  • Το Gherkin είναι γλώσσα προσανατολισμένη στη γραμμή όπως και η YAML και Python
  • Το Gherkin Scripts συνδέει την ανθρώπινη έννοια της αιτίας και του αποτελέσματος με την έννοια του λογισμικού εισόδου/διεργασίας και εξόδου
  • Το χαρακτηριστικό, το φόντο, το σενάριο, το δεδομένο, το πότε, το μετά και το αλλά χρησιμοποιούνται σημαντικά στο Gherkin
  • Στο Gherkin, κάθε σενάριο πρέπει να εκτελείται ξεχωριστά
  • Το μεγαλύτερο πλεονέκτημα του Gherkin είναι αρκετά απλό για να το καταλάβουν οι μη προγραμματιστές
  • Το Gherkin Test μπορεί να μην λειτουργεί καλά σε όλους τους τύπους σεναρίων