Tüm yazılar
api-testing

TestFly Bölüm 6: Dahili ApiClient, BaseApiTest ve Hızlı Hibrit UI + API Testleri

TestFly'ın dahili ApiClient, ApiResponse doğrulamaları ve JSON Schema motoru ile saf API ve hibrit UI + API test akışlarını yönetin.

28 Ağustos 20261 dk okuma
TestFly Bölüm 6: Dahili ApiClient, BaseApiTest ve Hızlı Hibrit UI + API Testleri

TestFly Dahili API Test Mimarisi

TestFly, harici kütüphanelere gerek duymadan çalışan yüksek performanslı ve akıcı bir HTTP istemcisi (ApiClient) barındırır.


1. BaseApiTest ile Saf API Testleri

Tarayıcı açmadan doğrudan API testleri koşmak için BaseApiTest sınıfını miras alın:

java
package io.testfly.examples.api;

import io.testfly.test.BaseApiTest;
import io.testfly.client.ApiClient;
import io.testfly.client.ApiResponse;
import org.testng.annotations.Test;

public class UserApiTest extends BaseApiTest {

    @Test
    public void kullaniciGetirVeSemayiDogrula() {
        ApiResponse res = ApiClient.get("/api/users/1")
            .header("Accept", "application/json")
            .send()
            .assertStatus(200)
            .assertJson("$.name", "Hakan Gül")
            .assertSchema("schemas/user.json");
    }
}

2. apiClient() ile Hibrit UI + API Testleri

BaseTest içinde apiClient() kullanarak önce API üzerinden veriyi hazırlayın, ardından tarayıcıda doğrulayın:

java
package io.testfly.examples.tests;

import io.testfly.test.BaseTest;
import io.testfly.client.ApiResponse;
import org.openqa.selenium.By;
import org.testng.Assert;
import org.testng.annotations.Test;
import java.util.Map;

public class OrderCheckoutTest extends BaseTest {

    @Test
    public void hizliSiparisDogrulama() {
        // 1. API ile 100 ms'de sipariş oluştur
        ApiResponse order = apiClient().post("/api/orders")
            .body(Map.of("itemId", "SKU-100", "quantity", 1))
            .send()
            .assertStatus(201);

        String orderId = order.json("$.orderId");

        // 2. Tarayıcıda doğrudan sipariş sayfasına git
        open("/orders/" + orderId);
        Assert.assertEquals(getText(By.id("order-status")), "Onaylandı");
    }
}

Tüm API istekleri TestFly HTML raporu adım çizelgesinde otomatik loglanır!

#TestFly#ApiClient#ApiResponse#BaseApiTest#API Testing#JSON Schema#Java#SDET
Paylaş X LinkedIn

Yorumlar

  • Henüz yorum yok. İlk yorumu sen yaz.