Αυτό το σεμινάριο είναι μια εισαγωγή στη δοκιμή API χρησιμοποιώντας το Karate Framework. Μάθετε για τη δομή του Karate Test Script και τα βήματα για τη δημιουργία του πρώτου σεναρίου δοκιμής:

Το API είναι ένα ακρωνύμιο που σημαίνει Application Programming Interface (Διεπαφή προγραμματισμού εφαρμογών). Με απλά λόγια, μπορούμε να το ορίσουμε ως έναν ενδιάμεσο φορέα λογισμικού που επιτρέπει την επικοινωνία μεταξύ εφαρμογών.

Χρειαζόμαστε δοκιμές API επειδή:

  • Τα αποτελέσματα δημοσιεύονται γρηγορότερα, επομένως δεν χρειάζεται πλέον να περιμένετε να δείτε αν το API λειτουργεί κανονικά.
  • Με την ταχύτερη ανταπόκριση, η ανάπτυξη αυτών των API γίνεται επίσης ταχύτερη, και ως εκ τούτου επιτρέπει γρήγορο χρόνο υλοποίησης.
  • Η έγκαιρη ανίχνευση αποτυχιών, ακόμη και πριν από τη δημιουργία του UI της εφαρμογής, μας επιτρέπει να μετριάσουμε τους κινδύνους και να διορθώσουμε τα σφάλματα.
  • Δυνατότητα παράδοσης μεγάλης κλίμακας σε συντομότερο χρονικό διάστημα.

Για να μπορέσουμε να εργαστούμε στον έλεγχο API, έχουμε διάφορα εργαλεία διαθέσιμα στην αγορά, όπως το Postman, το Mocha και το Chai. Αυτά έχουν επιδείξει καλά αποτελέσματα και αποτελεσματική χρήση για τον έλεγχο API, ωστόσο, αυτά επηρεάζονται σε μεγάλο βαθμό από τον κώδικα. Για να μπορέσει κάποιος να τα χρησιμοποιήσει, πρέπει να είναι τεχνικά άρτιος και εξοικειωμένος με τις γλώσσες προγραμματισμού.

Το Karate Framework λύνει με όμορφο τρόπο αυτό το πρόβλημα των προηγούμενων εργαλείων λογισμικού.

Τι είναι το πλαίσιο καράτε

Καράτε; Ας μιλήσουμε για καράτε. Είναι αυτό από την Ιαπωνία; Τι νομίζετε; Ίσως το είχε αναπτύξει ο μεγάλος Μπρους Λι στον ελεύθερο χρόνο του.

Αν και θα θέλαμε να εμβαθύνουμε στις ενδιαφέρουσες ρίζες του Καράτε, προς το παρόν, ας μιλήσουμε για το Εργαλείο καράτε που έχει αναπτυχθεί από την Peter Thomas , ένα από τα σπουδαία εργαλεία που έρχονται να σώσουν τους ελεγκτές API.

Το πλαίσιο Karate ακολουθεί το στυλ γραφής του προγράμματος Cucumber, το οποίο ακολουθεί την προσέγγιση BDD. Η σύνταξη είναι εύκολα κατανοητή από μη προγραμματιστές. Και αυτό το πλαίσιο είναι το μοναδικό εργαλείο δοκιμών API που έχει συνδυάσει τον αυτοματισμό API και τον έλεγχο επιδόσεων σε ένα ενιαίο αυτόνομο εργαλείο.

Παρέχει στους χρήστες τη δυνατότητα να εκτελούν παράλληλα τις περιπτώσεις δοκιμών και να εκτελούν ελέγχους JSON & XML.

Με αυτές τις πληροφορίες, ορισμένα βασικά σημεία μπορούν να εξαχθούν για την περαιτέρω κατανόηση του εργαλείου Καράτε με λεπτομέρειες:

  • Το Karate είναι ένα πλαίσιο δοκιμών BDD αντί για TDD.
  • Το χαρακτηριστικό αυτό αλλάζει τα δεδομένα, καθώς επιτρέπει τη χρήση και την πρόσβαση σε αυτό από πολλούς ανθρώπους, ανεξάρτητα από το τεχνικό υπόβαθρο ή την ικανότητά τους.
  • Χρησιμοποιεί το αρχείο χαρακτηριστικών του Cucumber και τη γλώσσα Gherkins για να γράψει τη δοκιμή, η οποία είναι πολύ εύκολη στην κατανόηση.

Όλα αυτά τα χαρακτηριστικά το καθιστούν ένα από τα πιο ευνοϊκά εργαλεία αυτοματοποίησης που είναι διαθέσιμα σήμερα.

Ιστορία του Καράτε Πλαίσιο

Δημιουργήθηκε από ' Peter Thomas' το 2017, αυτό το λογισμικό έχει ως στόχο να καταστήσει τις λειτουργίες δοκιμών άμεσα διαθέσιμες για όλους. Γράφτηκε σε Java και οι περισσότεροι άνθρωποι περίμεναν ότι τα αρχεία του θα ήταν επίσης στην ίδια γλώσσα, ωστόσο, ευτυχώς, αυτό δεν ισχύει.

Αντίθετα, χρησιμοποιεί αρχεία Gherkins, γεγονός που είναι αποτέλεσμα της σχέσης του με το πλαίσιο Cucumber. Το λογισμικό αυτοματισμού είναι επέκταση του Cucumber, επομένως κληρονομεί τη χρήση του αρχείου Gherkins στη λειτουργία του. Η μεγάλη διαφορά μεταξύ των δύο είναι ότι το Karate δεν κάνει χρήση της Java κατά τη διάρκεια των δοκιμών, αλλά το Cucumber κάνει.

Αυτός ακριβώς είναι ο λόγος για τον οποίο απευθύνεται σε μη προγραμματιστές, καθώς η σύνταξη του Gherkins είναι εξαιρετικά ευανάγνωστη και περιεκτική. Αυτός είναι ο λόγος για τον οποίο το Karate είναι πιο κατάλληλο και συνιστάται για την είσοδο στον κόσμο των αυτοματοποιημένων δοκιμών API.

Ακολουθούν ορισμένα χαρακτηριστικά του Karate Testing Framework:

  • Χρησιμοποιεί την εύχρηστη και κατανοητή γλώσσα Gherkins.
  • Δεν απαιτεί τεχνικές γνώσεις προγραμματισμού όπως η Java.
  • Βασίζεται στα δημοφιλή πρότυπα Cucumber.
  • Εύκολη δημιουργία πλαισίου.
  • Οι παράλληλες δοκιμές είναι η βασική λειτουργικότητα που παρέχεται από το ίδιο το Karate, επομένως δεν χρειάζεται να εξαρτηθούμε από το Maven, Gradle , κ.λπ.
  • UI για την αποσφαλμάτωση της δοκιμής.
  • Κλήση ενός αρχείου χαρακτηριστικών από ένα άλλο αρχείο.
  • Παρέχει υποστήριξη για τη δοκιμή του προγράμματος οδήγησης δεδομένων που έχει κατασκευαστεί εσωτερικά, επομένως δεν χρειάζεται να εξαρτάται από εξωτερικά πλαίσια.
  • Ενσωματωμένο Native Rest Reports. Επιπλέον, μπορεί να ενσωματωθεί με το Cucumber για καλύτερο UI Reports και μεγαλύτερη σαφήνεια.
  • Παρέχει εσωτερική υποστήριξη για τη διαμόρφωση εναλλαγής σε διαφορετικά περιβάλλοντα δοκιμών (QA, Stage, Prod, Pre-Prod).
  • Απρόσκοπτη υποστήριξη για την ενσωμάτωση CI/CD που μπορεί να είναι χρήσιμη.
  • Δυνατότητα χειρισμού διαφόρων κλήσεων HTTP:
    • Υποστήριξη Web Socket
    • Αίτημα SOAP
    • HTTP
    • Χειρισμός cookie του προγράμματος περιήγησης
    • HTTPS
    • Δεδομένα HTML-μορφής
    • Αίτημα XML

Σύγκριση Karate Vs Rest-Assured

Ξεκουραστείτε με σιγουριά : Πρόκειται για μια βιβλιοθήκη βασισμένη στη Java για τη δοκιμή των υπηρεσιών REST. Χρησιμοποιεί τη γλώσσα Java για τη συγγραφή των γραμμών κώδικα. Βοηθά στη δοκιμή πολυάριθμων κατηγοριών αιτήσεων, η οποία οδηγεί περαιτέρω στην επαλήθευση διαφορετικών συνδυασμών επιχειρηματικής λογικής.

Πλαίσιο καράτε : Ένα εργαλείο βασισμένο στο Cucumber/Gherkins, που χρησιμοποιείται για δοκιμές για υπηρεσίες SOAP & REST.

Ο ακόλουθος πίνακας περιλαμβάνει μερικές πιο εμφανείς διαφορές μεταξύ Rest-Assured & Karate Framework:

Α.Μ. Βάση Πλαίσιο καράτε REST-Assured
1 Γλώσσα Χρησιμοποιεί ένα συνδυασμό αγγουριού και αγγουριών. Χρησιμοποιεί τη γλώσσα Java
2 Κωδικός Μέγεθος Συνήθως, η γραμμή του κώδικα είναι μικρότερη, καθώς ακολουθεί τη δομή του Cucumber. Η γραμμή κώδικα είναι μεγαλύτερη, καθώς περιλαμβάνει τη χρήση της γλώσσας Java.
3 Απαιτούμενες τεχνικές γνώσεις Οι μη προγραμματιστές μπορούν εύκολα να γράψουν τον κώδικα Gherkins Απαιτούνται τεχνικές γνώσεις για τη συγγραφή κώδικα Java
4 Δοκιμές με γνώμονα τα δεδομένα Πρέπει να χρησιμοποιήσετε το TestNG ή κάτι ισοδύναμο για να υποστηρίξετε το ίδιο Οι εσωτερικές ετικέτες μπορούν να χρησιμοποιηθούν για την υποστήριξη της δοκιμής δεδομένων
5 Παρέχει υποστήριξη κλήσεων SOAP Ναι, παρέχει Σχετίζεται μόνο με ένα αίτημα REST
6 Παράλληλες δοκιμές Ναι, οι παράλληλες δοκιμές υποστηρίζονται εύκολα με την παράλληλη δημιουργία αναφορών. Όχι σε μεγάλο βαθμό. Αν και κάποιοι έχουν προσπαθήσει να το κάνουν αυτό, το ποσοστό αποτυχίας είναι μεγαλύτερο από το ποσοστό επιτυχίας.
7 Αναφορά Παρέχει εσωτερικές αναφορές, επομένως δεν χρειάζεται να εξαρτάται από εξωτερικά πρόσθετα. Μπορούμε ακόμη και να το ενσωματώσουμε με το πρόσθετο αναφοράς Cucumber για καλύτερο UI. Πρέπει να εξαρτάται από εξωτερικά plugins όπως το Junit, TestNG
8 Υποστήριξη CSV για εξωτερικά δεδομένα Ναι, από το Karate 0.9.0 Όχι, πρέπει να χρησιμοποιήσετε κώδικα ή βιβλιοθήκη Java
9 Αυτοματοποίηση Web UI Ναι, από το Karate 0.9.5 είναι δυνατή η αυτοματοποίηση του Web-UI Όχι, δεν υποστηρίζεται
10 Δείγμα GET Δεδομένη παράμετρος val1 = 'name1'

Και παράμετρος val2 = 'name2'

Και διαδρομή 'somelocation'

Όταν η μέθοδος get

Τότε η απάντηση του αγώνα περιέχει 'OKAY'

given().

param("val1", "name1").

param("val2", "name2").

when().

get("/some\location").

then().

body(containsString("OKAY")),

Ως εκ τούτου, όπως αποδεικνύεται από τις παραπάνω διαφορές, είναι ασφαλές να πούμε ότι το καράτε είναι ένα από τα πιο εύκολα πράγματα που μπορεί να κάνει ο καθένας.

Εργαλεία που απαιτούνται για την εργασία με το Karate Framework

Τώρα, αφού έχουμε αποκτήσει τις βασικές γνώσεις μας σχετικά με το Karate Framework, ας δούμε τις διαδικασίες και τα εργαλεία που απαιτούνται για τη δημιουργία του περιβάλλοντος Karate.

#1) Έκλειψη

Το Eclipse είναι ένα ολοκληρωμένο περιβάλλον ανάπτυξης που χρησιμοποιείται στον τομέα του προγραμματισμού ηλεκτρονικών υπολογιστών. Χρησιμοποιείται κυρίως για τον προγραμματισμό σε Java. Όπως αναφέρθηκε προηγουμένως, το Karate είναι γραμμένο σε Java, οπότε είναι πιο λογικό γιατί το Eclipse είναι το ιδανικό IDE για το λογισμικό δοκιμών API. Ένας άλλος λόγος είναι ότι πρόκειται για ένα εργαλείο ανοιχτού κώδικα, και αυτός είναι ένας αρκετά ισχυρός λόγος για να επιλέξετε αυτό το εργαλείο.

Σημείωση: Θα μπορούσαμε ακόμη να χρησιμοποιήσουμε το IntelliJ, το Visual Studio και άλλους διαφορετικούς επεξεργαστές που διατίθενται στην αγορά.

#2) Maven

Πρόκειται για ένα εργαλείο αυτοματοποίησης της κατασκευής που χρησιμοποιείται κυρίως για την κατασκευή έργων Java. Είναι ένας τρόπος για να δημιουργήσετε ένα περιβάλλον Karate και να γράψετε τον κώδικα. Για να ρυθμίσετε το Eclipse σας με τις απαιτήσεις του Maven, μπορείτε να κάνετε κλικ εδώ για την εγκατάσταση του Maven.

Ενώ εργάζεστε στο Maven, χρησιμοποιήστε εξαρτήσεις του Maven που θα σας βοηθήσουν να υποστηρίξετε το Karate Framework.

Οι ακόλουθες εξαρτήσεις θα χρησιμοποιηθούν με το Maven στο pom.xml.

 com.intuit.karate karate-apache 0.9.5 test com.intuit.karate karate-junit4 0.9.5 test 

Σημείωση: Οι τελευταίες εκδόσεις μπορεί να είναι διαθέσιμες στο αποθετήριο Maven.

#3) Gradle

Το Gradle είναι μια εναλλακτική λύση του Maven και μπορεί να χρησιμοποιηθεί με την ίδια ιδιότητα. Έχουν τις ομοιότητες και τις διαφορές τους, αλλά μπορούν να χρησιμοποιηθούν εξίσου για τη δημιουργία ενός περιβάλλοντος για τους κώδικες του Karate.

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

 testCompile 'com.intuit.karate:karate-junit4:0.6.0' testCompile 'com.intuit.karate:karate-apache:0.6.0' 

Σημείωση: Θα μπορούσατε να χρησιμοποιήσετε είτε MAVEN ή ΤΑΞΗ.

#4) Ρύθμιση περιβάλλοντος Java στο σύστημά σας

Πρέπει να ρυθμίσετε το περιβάλλον JDK και JRE για να ξεκινήσετε με τα σενάρια του Karate Framework.

Δομή του σεναρίου δοκιμής καράτε

Ένα σενάριο δοκιμών Karate είναι γνωστό για την κατοχή της επέκτασης ".feature". Αυτή η ιδιότητα κληρονομείται από το Cucumber. Η οργάνωση των αρχείων με σύμβαση της Java είναι επίσης εξίσου επιτρεπτή. Είστε ελεύθεροι να οργανώσετε τα αρχεία σας σύμφωνα με τις συμβάσεις των πακέτων της Java.

Ωστόσο, οι οδηγίες του Maven καθοδηγούν ότι η αποθήκευση των αρχείων που δεν είναι Java πρέπει να γίνεται ξεχωριστά. Γίνονται σε ένα src/test/resources Και τα αρχεία Java διατηρούνται κάτω από το src/main/java .

Όμως, σύμφωνα με τους δημιουργούς του Karate Framework, πιστεύουν ακράδαντα ότι πρέπει να κρατάμε τόσο τα αρχεία Java όσο και τα αρχεία που δεν είναι Java δίπλα-δίπλα. Σύμφωνα με αυτούς, είναι πολύ πιο εύκολο να αναζητήσουμε τα αρχεία *.java και *.feature όταν διατηρούνται μαζί, αντί να ακολουθούμε την τυπική δομή του Maven.

Αυτό μπορεί να γίνει εύκολα τροποποιώντας το pom.xml ως εξής (για το Maven):

 src/test/java **/*.java ... 

Ακολουθεί το περίγραμμα της γενικής δομής του Πλαισίου Καράτε:

Τώρα, δεδομένου ότι αυτό το Karate Framework χρησιμοποιεί το αρχείο Runner, το οποίο επίσης απαιτείται στο Cucumber για την εκτέλεση των αρχείων χαρακτηριστικών, έτσι το μεγαλύτερο μέρος της γραφής θα ακολουθεί τα πρότυπα του Cucumber.

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

Η κλάση "Runner" τις περισσότερες φορές ονομάζεται TestRunner.java.

Τότε το αρχείο TestRunner.java θα έχει τη μορφή:

 import com.intuit.karate.junit4.Karate; import org.junit.runner.RunWith; @RunWith(Karate.class) public class TestRunner { } 

Και μιλώντας για το .feature αρχείο, περιέχει όλα τα σενάρια δοκιμών που πρέπει να δοκιμαστούν για να βεβαιωθείτε ότι το API λειτουργεί σύμφωνα με τις αναμενόμενες απαιτήσεις.

Ένα γενικό αρχείο *.feature μοιάζει κάπως όπως φαίνεται παρακάτω:

 Χαρακτηριστικό γνώρισμα: ανάκτηση στοιχείων χρήστη Σενάριο: δοκιμή της κλήσης ανάκτησης στοιχείων χρήστη Δεδομένο url '//reqres.in/api/users/2' Όταν μέθοδος GET Τότε κατάσταση 200 

Δημιουργία του πρώτου βασικού σεναρίου δοκιμών καράτε

Αυτή η ενότητα θα σας βοηθήσει να ξεκινήσετε με τη δημιουργία του πρώτου σας Test Script, το οποίο θα σας βοηθήσει να μετατρέψετε APIs με τη μορφή ενός πλαισίου Karate.

Πριν γράψουμε τα βασικά σενάρια δοκιμών Karate, παρακαλούμε εγκαταστήστε τις ακόλουθες προϋποθέσεις στο μηχάνημά σας:

  • Eclipse IDE
  • Maven. Ορίστε την κατάλληλη διαδρομή Maven.
  • JDK & JRE. Ορίστε την κατάλληλη διαδρομή.

Ας δούμε την προσέγγιση βήμα προς βήμα:

#1) Δημιουργήστε ένα νέο MAVEN Έργο στον επεξεργαστή Eclipse

  • Άνοιγμα του Eclipse
  • Κάντε κλικ στο File. Επιλέξτε New Project.

  • Επιλέξτε το έργο Maven

  • Επιλέξτε τη θέση του χώρου εργασίας.
  • Επιλέξτε το Αρχέτυπο (συνήθως επιλέγουμε " Maven-archetype-quickstart 1.1 " για απλά έργα Maven).
  • Δώστε το αναγνωριστικό ομάδας & το αναγνωριστικό τεχνουργήματος (στο παράδειγμά μας χρησιμοποιήσαμε τις ακόλουθες τιμές).
    • Αναγνωριστικό ομάδας : Καράτε
    • Αναγνωριστικό τεχνουργήματος: KarateTestScriptsSample
  • Κάντε κλικ στο Finish για να ολοκληρώσετε τη ρύθμιση.

#2) Μόλις δημιουργηθεί, θα μπορείτε να δείτε την ακόλουθη δομή στο παράθυρο της Εξερεύνησης έργου.

#3) Συμπεριλάβετε όλες τις εξαρτήσεις σας.

Το πρώτο μας βήμα, μετά την εγκατάσταση θα είναι να περιλαμβάνει όλες τις εξαρτήσεις Θα κρατήσουμε όλες τις ετικέτες κάτω από το POM.xml (υποθέτοντας ότι γνωρίζετε ήδη τη χρήση του POM.xml).

  • Ανοίξτε το αρχείο POM.xml και αντιγράψτε τον παρακάτω κώδικα κάτω από την ετικέτα εξάρτησης και αποθηκεύστε το αρχείο.
 com.intuit.karate karate-apache 0.9.5 test com.intuit.karate karate-junit4 0.9.5 test 

Κάντε κλικ εδώ για την πηγή.

#4) Ας κάνουμε ένα Brainstorming του σεναρίου, τι πρόκειται να δοκιμάσουμε σε αυτό το σενάριο δοκιμών Karate Basic Test Script.

Σενάριο:

Θα δοκιμάσουμε ένα API με αυτή τη διεύθυνση URL.

Μονοπάτι: api/users/2

Μέθοδος: GET

Και πρέπει να επικυρώσουμε , αν η αίτηση επιστρέφει ένα Κωδικός επιτυχίας (200) ή όχι.

Με απλά λόγια, θα δοκιμάσουμε ένα δείγμα API για να δούμε αν εκτελείται με επιτυχία ή όχι.

Σημείωση: Παίρνουμε ένα δείγμα API που είναι διαθέσιμο για δοκιμή. Μπορείτε να επιλέξετε οποιοδήποτε PATH ή να αναφερθείτε στο δικό σας API.

Κάντε κλικ εδώ για την πηγή.

#5) Τώρα το επόμενο βήμα μας θα ήταν να δημιουργήσουμε ένα .feature αρχείο.

Όπως αναφέρθηκε στην ενότητα της εισαγωγής, η .feature αρχείο είναι η ιδιότητα που έχει κληρονομηθεί από το Cucumber. Σε αυτό το αρχείο, θα γράψουμε τα σενάρια δοκιμών που πρέπει να εκτελεστούν για την εκτέλεση του API Testing.

  • Πηγαίνετε στο φάκελο src/test/java στο έργο σας.

  • Κάντε δεξί κλικ πάνω του και δημιουργήστε ένα νέο αρχείο - userDetails.feature. Στη συνέχεια κάντε κλικ στο κουμπί Finish.

Τώρα θα δείτε το ακόλουθο αρχείο κάτω από το φάκελο src/test/java

Το Εικονίδιο πράσινου χρώματος μοιάζει με το .feature fi le στο Cucumber που μόλις δημιουργήσαμε.

  • Αφού δημιουργηθεί το αρχείο, τώρα θα γράψουμε τα σενάρια δοκιμών που θα συζητηθούν στην επόμενη ενότητα.

#6) Αφού έχουμε το σενάριο και το κενό . χαρακτηριστικό αρχείο έτοιμο, τώρα ας ξεκινήσουμε με το πρώτο μας σενάριο. Ας ξεκινήσουμε την κωδικοποίηση

Γράψτε την ακόλουθη γραμμή κώδικα στο αρχείο userDetails.feature που δημιουργήσαμε στο Βήμα #5:

 Χαρακτηριστικό γνώρισμα: ανάκτηση στοιχείων χρήστη Σενάριο: δοκιμή της κλήσης ανάκτησης στοιχείων χρήστη Δεδομένο url '//reqres.in/api/users/2' Όταν μέθοδος GET Τότε κατάσταση 200 

Ας προσπαθήσουμε να κατανοήσουμε τα στοιχεία που είναι γραμμένα στο παραπάνω αρχείο:

  • Χαρακτηριστικό γνώρισμα: Η λέξη-κλειδί εξηγεί το όνομα του χαρακτηριστικού που δοκιμάζουμε.
  • Ιστορικό: Πρόκειται για ένα προαιρετικό τµήµα που αντιµετωπίζεται ως τµήµα προαπαιτούµενων προϋποθέσεων. Μπορεί να χρησιµοποιηθεί για να καθορίσει τι ακριβώς χρειάζεται για τη δοκιµή του API. Περιέχει HEADER, URL & PARAM επιλογές.
  • Σενάριο: Κάθε αρχείο χαρακτηριστικών που θα δείτε θα έχει τουλάχιστον ένα χαρακτηριστικό (αν και μπορεί να δώσει πολλαπλές σενάρια). Είναι η περιγραφή της περίπτωσης δοκιμής.
  • Δεδομένο: Είναι το βήμα που πρέπει να εκτελεστεί πριν από την εκτέλεση οποιουδήποτε άλλου βήματος δοκιμής. Είναι μια υποχρεωτική ενέργεια που πρέπει να εκτελεστεί.
  • Πότε: Καθορίζει τη συνθήκη που πρέπει να πληρούται για την εκτέλεση του επόμενου βήματος δοκιμής.
  • Τότε: Μας λέει τι πρέπει να συμβεί σε περίπτωση που η κατάσταση που αναφέρεται στο Όταν ικανοποιείται.

Σημείωση: Όλες οι παραπάνω λέξεις-κλειδιά προέρχονται από τη γλώσσα Gherkins. Αυτές είναι ο τυπικός τρόπος γραφής των σεναρίων δοκιμών με τη χρήση του Cucumber.

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

  • 200: Είναι ο κωδικός κατάστασης/απάντησης που περιμένουμε (Κάντε κλικ εδώ για τον κατάλογο των κωδικών κατάστασης)
  • GET: Είναι η μέθοδος API όπως POST, PUT, κ.λπ.

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

Τώρα πρέπει να δημιουργήσουμε ένα αρχείο TestRunner.java

Όπως εξηγήθηκε στην παραπάνω ενότητα, το Cucumber χρειάζεται ένα αρχείο Runner που θα απαιτηθεί για την εκτέλεση του .feature αρχείο που περιέχει τα σενάρια δοκιμών.

  • Πηγαίνετε στο φάκελο src/test/java στο έργο σας

  • Κάντε δεξί κλικ πάνω του και δημιουργήστε ένα αρχείο New Java: TestRunner.java
  • Μόλις δημιουργηθεί το αρχείο, τοποθετήστε τις ακόλουθες γραμμές κώδικα κάτω από αυτό:
 import org.junit.runner.RunWith; import com.intuit.karate.junit4.Karate; @RunWith(Karate.class) public class TestRunner { } 
  • Το Test Runner είναι το αρχείο που θα εκτελεστεί τώρα για να εκτελέσει το επιθυμητό σενάριο που έχει γραφτεί στο Βήμα #5.

#7) Τώρα είμαστε έτοιμοι και με τα δύο αρχεία TestRunner.Java και userDeatils.feature. Το μόνο καθήκον που μας απομένει είναι να Εκτέλεση το σενάριο.

  • Μεταβείτε στο αρχείο TestRunner.java και κάντε δεξί κλικ στο αρχείο όπως φαίνεται στην παρακάτω εικόνα.

  • Επιλέξτε Run As -> Junit Test
  • Τώρα, μόλις επιλεγεί, θα αρχίσετε να παρατηρείτε ότι η περίπτωση δοκιμής έχει πλέον ξεκινήσει.
  • Περιμένετε να εκτελεστεί το δοκιμαστικό σενάριο. Μόλις γίνει αυτό, θα παρατηρήσετε κάτι που φαίνεται στην παρακάτω εικόνα στο παράθυρό σας.

  • Τέλος, μπορούμε να πούμε ότι έχουμε δημιουργήσει με επιτυχία την πρώτη μας βασική Σενάριο δοκιμής χρησιμοποιώντας το Πλαίσιο καράτε.

#8) Τέλος, το πλαίσιο Karate παρέχει επίσης μια παρουσίαση αναφοράς HTML για την εκτέλεση που έχει πραγματοποιηθεί.

  • Πηγαίνετε στο φάκελο-στόχο -> surefire-reports-> Εδώ θα δείτε την αναφορά HTML που μπορείτε να ανοίξετε.

** Θα σας προτείναμε επίσης να το ανοίξετε χρησιμοποιώντας τον Chrome Browser για καλύτερη εμφάνιση και αίσθηση.

  • Θα σας εμφανιστεί η ακόλουθη αναφορά HTML που απεικονίζει Σενάρια & δοκιμή που έχει εκτελεστεί για το αναφερόμενο σενάριο:

Συμπέρασμα

Σε αυτό το σεμινάριο, συζητήσαμε τις δοκιμές API, τα διάφορα εργαλεία δοκιμών που διατίθενται στην αγορά και πώς το Karate Framework είναι μια καλύτερη επιλογή σε σύγκριση με τα αντίστοιχα εργαλεία.

Ακολουθήσαμε μια προσέγγιση βήμα προς βήμα για να δημιουργήσουμε το πρώτο μας βασικό σενάριο δοκιμών. Ξεκινήσαμε με τη δημιουργία ενός βασικού Έργο Maven στο Eclipse IDE για να δημιουργήσετε ένα αρχείο .feature, το οποίο περιέχει όλο το σενάριο δοκιμών και ένα αρχείο Runner για την εκτέλεση της περίπτωσης δοκιμής που αναφέρεται στο αρχείο .feature.

Στο τέλος των πολλαπλών βημάτων, θα μπορούσαμε να δούμε την έκθεση εκτέλεσης των αποτελεσμάτων της δοκιμής.

Ελπίζουμε ότι αυτό το σεμινάριο ήταν χρήσιμο για τους αρχάριους να μάθουν πώς να δημιουργήσουν το πρώτο τους σενάριο δοκιμών χρησιμοποιώντας το Karate Framework και να πραγματοποιήσουν δοκιμές API. Αυτή η λεπτομερής προσέγγιση βήμα προς βήμα είναι ένας θαυμάσιος τρόπος για να τρέξετε και να εκτελέσετε διάφορες δοκιμές στο API.

NEXT>>,

Κύλιση στην κορυφή