ავტომატური API ტესტირება მარტივია კარატეს საშუალებით

თუ გსურთ ჩაერთოთ ავტომატიზირებულ API ტესტირებაში, მაგრამ არ გაქვთ პროგრამირების ფონი, მაშინ დაგჭირდებათ კარატეს გაძლება!

კარატემ გაათავისუფლა როგორც ღია წყაროს ინსტრუმენტი ინტუიცია . ეს ინსტრუმენტი შექმნილია იმისათვის, რომ გამოვიყენოთ API ავტომატიზირებული ტესტირებისთვის და აქვს ყველა საჭირო მახასიათებელი, რათა API ტესტირება გახდეს ნიავი და რეალურად სასიამოვნო.

განსხვავებით სხვა ავტომატიზირებული API ტესტირების ხელსაწყოებისაგან, რომლებიც საჭიროებს დაშიფვრის საკმაოდ რაოდენობას, თუნდაც მხოლოდ ძირითადი საგნების გასაკეთებლად, კარატე მუშაობს ყუთში. შეგიძლიათ შექმნათ ყველაზე რთული თხოვნა-პასუხის ოპერაციები, არცერთი პროგრამირების ენის ცოდნის გარეშე. თქვენ მხოლოდ უნდა დაწეროთ მხატვრული ფაილი მარტივი ტექსტის Gherkin სტილის გამოყენებით.


იმის გამო, რომ კარატე არის სრული DSL და ზის თავზე კიტრი- JVM თქვენ შეგიძლიათ აწარმოოთ ტესტები და შექმნათ ანგარიშები, როგორც ნებისმიერი სტანდარტული ჯავა პროექტი, მაგრამ ჯავას კოდის დაწერის ნაცვლად, თქვენ დაწერთ ტესტებს იმ ენაზე, რომელიც შექმნილია იმისთვის, რომ HTTP, JSON ან XML– სთან ურთიერთობა იყოს მარტივი და მარტივი.

მიუხედავად იმისა, რომ კარატეს გამოყენების წინაპირობები არ არსებობს, ეს გეხმარებათ, თუ გააზრებული გაქვთ HTTP, JSON, XML, JsonPath და XPath და JavaScript.


ამ პოსტში გადავხედავთ რამდენიმე ტიპურ ოპერაციას, რომელსაც ჩვეულებრივ ასრულებდით API ავტომატიზირებულ ტესტირებაში, მაგრამ პირველ რიგში, კარატესთვის თქვენი გარემოს შექმნის სწრაფი სახელმძღვანელო.

მავანი

თუ იყენებთ Maven- ს, გჭირდებათ ორი შემდეგი დამოკიდებულება


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

გრადალი

გარდა ამისა, თუ იყენებთ Gradle- ს, გჭირდებათ

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

საქაღალდის სტრუქტურა

კარატეს ტესტის სკრიპტს აქვს ფაილის გაფართოება .feature რაც არის სტანდარტი, რომელსაც მოსდევს კიტრი. თქვენ თავისუფლად შეგიძლიათ მოაწყოთ თქვენი ფაილები რეგულარული Java პაკეტის კონვენციების გამოყენებით.


Maven– ის ტრადიციაა, რომ არ იყოს Java– ს წყარო ფაილები ცალკე src/test/resources საქაღალდის სტრუქტურა - მაგრამ კარატეს ინსტრუმენტის შემქმნელები გირჩევენ, რომ მათ გვერდით ადევნოთ თქვენი *.java ფაილები.

კიტრის მსგავსად, თქვენ უნდა გქონდეთ 'Runner' კლასი, რომელიც აწარმოებს ფუნქციების ფაილებს. კიტრისგან განსხვავებით, ნაბიჯების განმარტება არ არსებობს! ეს არის კარატეს მაგია.

იმისათვის, რომ გამოიყენოთ TestRunner.java კლასი ფუნქციური ფაილის შესასრულებლად, თქვენ უნდა გქონდეთ აშენების განყოფილება pom.xml ფაილში.



4.0.0
Tutorials
Karate
1.0-SNAPSHOT




com.intuit.karate

karate-apache

0.6.0.4





com.intuit.karate

karate-junit4

0.6.0.4










src/test/java






**/*.java








თქვენი TestRunner.java კლასი ასე გამოიყურება

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

მარტივი ავტომატიზირებული API ტესტირება კარატესთან ერთად

დავუშვათ, რომ თქვენ აპრობირებთ API- ს (https://some-api.com/api/users), რომელიც აბრუნებს მომხმარებელთა სიას JSON ფორმატში

[
{
'id': 1,
'name': 'FirstUser',
'password': 'User1Pass'
},
{
'id': 2,
'name': 'SecondUser',
'password': 'User2Pass'
} ]

თქვენი კარატეს ფუნქციის ფაილი ასე გამოიყურება:

Feature: Test User API
Scenario: Fetch all users
Given url 'https://some-api.com/api/users'
When method GET
Then status 200
And assert response.length == 2
And match response[0].name == 'FirstUser'

და ეს არის ის - ძალიან მოკლედ და გარკვეულწილად და რაც მთავარია, არანაირი კოდი!


კარატეს გააჩნია სასარგებლო თვისებების ძალიან მდიდარი ნაკრები, რაც საშუალებას გაძლევთ მარტივად და სწრაფად ჩაატაროთ ავტომატური API ტესტირება. მომავალ პოსტებში, ჩვენ უფრო მეტად გავეცნობით ამ საოცარ ინსტრუმენტს და მოვიყვანთ მაგალითებს, თუ როგორ უნდა გააკეთოთ ყველაფერი, რაც გჭირდებათ API- ს ტესტირებისას!

საინტერესო სტატიები