Avtomatlaşdırılmış API Testi Karate ilə Asanlaşdırıldı

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

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

Gradle

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'

Qovluq quruluşu

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 { }

Karate ilə sadə avtomatlaşdırılmış API testi

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!