Avtomatlaşdırılmış API Testində iştirak etmək istəsəniz, amma proqramlaşdırma fonunuz yoxdursa, o zaman Karate’ə icazə vermək istəyə bilərsiniz!
Karate açıq mənbəli bir vasitə olaraq sərbəst buraxıldı Intuit . Alət avtomatlaşdırılmış API testi üçün istifadə üçün nəzərdə tutulmuşdur və API sınaqlarını asanlıqla əsl əyləncəli hala gətirmək üçün bütün lazımi xüsusiyyətlərə malikdir.
Yalnız əsas işləri görmək üçün kifayət qədər kodlaşdırma tələb edən digər avtomatlaşdırılmış API test alətlərindən fərqli olaraq, Karate qutudan kənarda işləyir. Heç bir proqramlaşdırma dili bilmədən ən mürəkkəb sorğu-cavab əməliyyatlarını qura bilərsiniz. Etməli olduğunuz tək şey sadə mətn Gherkin üslubundan istifadə edərək xüsusiyyət sənədini yazmaqdır.
Çünki Karate tam bir DSL-dir və üstündə oturur Xiyar-JVM , hər hansı bir standart Java layihəsi kimi testlər keçirə və hesabat yarada bilərsiniz, ancaq Java kodu yazmaq əvəzinə, testləri HTTP, JSON və ya XML ilə asan və sadə etmək üçün hazırlanmış bir dildə yazırsınız.
Karate istifadə etmək üçün əvvəlcədən şərtlər olmasa da, HTTP, JSON, XML, JsonPath və XPath və JavaScript haqqında əsas məlumatlarınız varsa kömək edir.
Bu yazıda, normal olaraq Avtomatlaşdırılmış API Testində yerinə yetirəcəyiniz bəzi tipik əməliyyatlara nəzər salırıq, amma əvvəlcə Karate üçün mühitinizi qurmaq üçün sürətli bir bələdçi.
Maven istifadə edirsinizsə, aşağıdakı iki asılılığa ehtiyacınız var
com.intuit.karate
karate-apache
0.6.0
test
com.intuit.karate
karate-junit4
0.6.0
test
Alternativ olaraq, Gradle istifadə edirsinizsə, ehtiyacınız var
testCompile 'com.intuit.karate:karate-junit4:0.6.0' testCompile 'com.intuit.karate:karate-apache:0.6.0'
Bir Karate test skriptində .feature
fayl uzantısı var standart olan, daha sonra Xiyar. Normal Java paketi konvensiyalarından istifadə edərək sənədlərinizi təşkil etməkdə sərbəstsiniz.
Maven ənənəsi, Java olmayan mənbə sənədlərinin ayrı src/test/resources
qovluq quruluşu - ancaq Karate alətinin yaradıcıları onları *.java
sənədlər.
Xiyar kimi, xüsusiyyət fayllarını işlədən bir 'Runner' sinifinə sahib olmalısınız. Xiyardan fərqli olaraq, heç bir addım tərifi yoxdur! Bu da Karatenin sehridir.
Xüsusiyyət sənədini icra etmək üçün TestRunner.java sinifindən istifadə etmək üçün pom.xml faylında qurma hissəsinə sahib olmalısınız.
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
Və TestRunner.java sinifiniz belə görünür
package com.tutorials.karate; import com.intuit.karate.junit4.Karate; import org.junit.runner.RunWith; @RunWith(Karate.class) public class TestRunner { }
Fərz edək ki, istifadəçilərin siyahısını JSON formatında qaytaran bir API (https://some-api.com/api/users) test edirsiniz
[
{
'id': 1,
'name': 'FirstUser',
'password': 'User1Pass'
},
{
'id': 2,
'name': 'SecondUser',
'password': 'User2Pass'
} ]
Karate xüsusiyyət sənədiniz belə görünəcək:
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'
Və budur - çox qisa və nöqtəyə qədər və ən əsası kod yoxdur!
Karate, Avtomatik API Testini çox asanlıqla və tez bir zamanda yerinə yetirməyinizə imkan verən çox zəngin faydalı xüsusiyyətlər dəsti ilə gəlir. Gələcək yazılarda bu ecazkar aləti daha çox araşdırırıq və API'ləri sınarkən ehtiyac duyduğunuz hər şeyi necə edəcəyimizə dair nümunələr veririk!