Ana içeriğe geç

Fluent Yük Testi API’si

Tek GET adımı için load(path) kullanın. Header, body, kontrol ve çoklu adım için loadScenario(name) ile başlayın. step(name), LoadStep döndürür; and() üst LoadScenario nesnesine döner.

POST isteği​

Aşağıdaki parça BaseLoadTest test metodunun içinde kullanılır; java.util.Map import edilmelidir:

loadScenario("Create order").users(10)
.step("Create").post("/orders")
.header("Content-Type", "application/json")
.body(Map.of("sku", "PROD-998", "quantity", 1))
.check(status().is(201)).and()
.run().assertErrorRateBelow(0.01);

Çok adımlı akış​

import io.testfly.loadtest.BaseLoadTest;
import io.testfly.loadtest.LoadTestFeeder;
import org.testng.annotations.Test;
import java.time.Duration;
import java.util.Map;

public class CheckoutLoadTest extends BaseLoadTest {
@Test
public void checkout() {
loadScenario("Checkout")
.engine("jdk").users(15).hold(Duration.ofSeconds(10))
.feed(LoadTestFeeder.csv("testdata/users.csv"))
.step("Login").post("/login")
.body(Map.of("username", "${username}", "password", "${password}"))
.check(status().is(200)).extract("token", "$.accessToken").and()
.step("Payment").post("/payment")
.header("Authorization", "Bearer ${token}")
.body(Map.of("amount", 10)).check(status().is(200)).and()
.run().assertStepP95Below("Login", 300)
.assertStepP95Below("Payment", 800)
.assertStepErrorRateBelow("Payment", 0.01);
}
}

Metot referansı​

NesneMetotlar
BaseLoadTestload(String path), loadScenario(String name), lastLoadMetrics(), status(), jsonPath(String)
LoadScenariousers, rampUp, hold, cooldown, engine, baseUrl, feed, feedCsv, feedJson, thinkTime, step, run
LoadStepget(path), post(path), put(path), patch(path), delete(path), header, queryParam, formParam, body, check, extract, and, run

thinkTime(Duration) sabit, thinkTime(minMs, maxMs) rastgele istekler arası bekleme belirler. extract, yanıt değerini aynı sanal kullanıcının sonraki adımlarına aktarır. load(LoadScenario) overload’u veya targetRps() throttling API’si yoktur. Yük ayarlarını senaryoya, istek ayarlarını adımlarına uygulayın.