Sobes.tech
Middle

როგორ შეგიძლიათ ავტომატიზიროთ API-ის ტესტირება?

sobes.tech AI

პასუხი AI-სგან

API පරීක්ෂණ ස්වයංක්‍රීය කිරීම පහත පරිදි සිදු කළ හැක:

  1. Framework/Library භාවිතා කිරීම:

    • Rest-Assured (Java): REST API පරීක්ෂණ සඳහා ජනප්‍රිය පුස්තකාලය.
    • Requests (Python): HTTP ඉල්ලීම් ක්‍රියාත්මක කිරීමට සරල හා බලවත් පුස්තකාලය.
    • SuperTest (Node.js): HTTP සේවාදායක හා API පරීක්ෂණ සඳහා පුස්තකාලය.
    • Postman/Newman: GUI සහ CLI යෙදුම් API පරීක්ෂණ සෑදීම හා ධාවනය කිරීම සඳහා.
  2. Test Scenario සෑදීම:

    • සෑම අවසන් බින්දුවකටම ධනාත්මක හා ඍණාත්මක සිද්ධීන් නිර්වචනය කරයි.
    • ඉල්ලීම් විවිධ පරාමිතීන් සමඟ යවමින්, ප්‍රතිචාර තත්ත්ව කේත, අන්තර්ගතය (JSON, XML ආදිය) හා හිසකුරු පරීක්ෂා කරයි.
  3. දත්ත පරීක්ෂා කිරීම:

    • JSON schema වලංගුකරණය, ව්‍යුහය හා දත්ත වර්ග පරීක්ෂා කිරීම.
    • සැලකිය යුතු අගයන් ප්‍රතිචාරයේ අගයන් සමඟ සැසදීම.
  4. දත්ත කළමනාකරණය:

    • පරීක්ෂණ දත්ත ගොනු (JSON, CSV) හෝ දත්ත සමුදා වලට ගබඩා කිරීම.
    • පරීක්ෂණයට පෙර දත්ත සකස් කිරීම හා පසුව පිරිසිදු කිරීම (අවශ්‍ය නම්).
  5. CI/CD පද්ධති සමඟ ඒකාබද්ධ කිරීම:

    • කේත වෙනස්කම් හෝ නියමිතව (උදාහරණයක් ලෙස, සෑම රාත්‍රීයේම) ස්වයංක්‍රීය API පරීක්ෂණ ධාවනය සැකසීම.
    • Jenkins, GitLab CI, GitHub Actions ආදිය භාවිතා කිරීම.
  6. වාර්තාකරණය:

    • පරීක්ෂණ ප්‍රතිඵල පිළිබඳ විස්තරාත්මක වාර්තා නිර්මාණය (උදාහරණයක් ලෙස, 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'