Middle
როგორ შეგიძლიათ ავტომატიზიროთ API-ის ტესტირება?
sobes.tech AI
პასუხი AI-სგან
API පරීක්ෂණ ස්වයංක්රීය කිරීම පහත පරිදි සිදු කළ හැක:
-
Framework/Library භාවිතා කිරීම:
- Rest-Assured (Java): REST API පරීක්ෂණ සඳහා ජනප්රිය පුස්තකාලය.
- Requests (Python): HTTP ඉල්ලීම් ක්රියාත්මක කිරීමට සරල හා බලවත් පුස්තකාලය.
- SuperTest (Node.js): HTTP සේවාදායක හා API පරීක්ෂණ සඳහා පුස්තකාලය.
- Postman/Newman: GUI සහ CLI යෙදුම් API පරීක්ෂණ සෑදීම හා ධාවනය කිරීම සඳහා.
-
Test Scenario සෑදීම:
- සෑම අවසන් බින්දුවකටම ධනාත්මක හා ඍණාත්මක සිද්ධීන් නිර්වචනය කරයි.
- ඉල්ලීම් විවිධ පරාමිතීන් සමඟ යවමින්, ප්රතිචාර තත්ත්ව කේත, අන්තර්ගතය (JSON, XML ආදිය) හා හිසකුරු පරීක්ෂා කරයි.
-
දත්ත පරීක්ෂා කිරීම:
- JSON schema වලංගුකරණය, ව්යුහය හා දත්ත වර්ග පරීක්ෂා කිරීම.
- සැලකිය යුතු අගයන් ප්රතිචාරයේ අගයන් සමඟ සැසදීම.
-
දත්ත කළමනාකරණය:
- පරීක්ෂණ දත්ත ගොනු (JSON, CSV) හෝ දත්ත සමුදා වලට ගබඩා කිරීම.
- පරීක්ෂණයට පෙර දත්ත සකස් කිරීම හා පසුව පිරිසිදු කිරීම (අවශ්ය නම්).
-
CI/CD පද්ධති සමඟ ඒකාබද්ධ කිරීම:
- කේත වෙනස්කම් හෝ නියමිතව (උදාහරණයක් ලෙස, සෑම රාත්රීයේම) ස්වයංක්රීය API පරීක්ෂණ ධාවනය සැකසීම.
- Jenkins, GitLab CI, GitHub Actions ආදිය භාවිතා කිරීම.
-
වාර්තාකරණය:
- පරීක්ෂණ ප්රතිඵල පිළිබඳ විස්තරාත්මක වාර්තා නිර්මාණය (උදාහරණයක් ලෙස, Allure Framework).
Rest-Assured භාවිතා කිරීමේ උදාහරණ:
import io.restassured.RestAssured;
import org.junit.jupiter.api.Test;
import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;
public class ApiTests {
@Test
public void testGetUserById() {
// API මූලික URL
RestAssured.baseURI = "https://reqres.in/api";
// GET ඉල්ලීම යැවීම
given()
.when()
.get("/users/2")
.then()
.statusCode(200) // තත්ත්ව කේතය පරීක්ෂා කිරීම
.body("data.id", equalTo(2)) // ප්රතිචාරයේ අන්තර්ගතය පරීක්ෂා කිරීම
.body("data.first_name", equalTo("Janet"));
}
}
Python Requests භාවිතා කිරීමේ උදාහරණ:
import requests
def test_get_user_by_id():
url = "https://reqres.in/api/users/2"
response = requests.get(url)
assert response.status_code == 200 # තත්ත්ව කේතය පරීක්ෂා කිරීම
data = response.json()
assert data['data']['id'] == 2 # ප්රතිචාරයේ අන්තර්ගතය පරීක්ෂා කිරීම
assert data['data']['first_name'] == 'Janet'