0Pricing
Load Testing & Performance Benchmarking (JMeter & k6) · Ders

Temel k6 Betikleri Yazma

HTTP istekleri gönderen ve sanal kullanıcıları simüle eden ilk k6 betiğinizi oluşturun.

Temel k6 Betikleri Yazma, CoddyKit'te ücretsiz bir Load Testing & Performance Benchmarking (JMeter & k6) dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Load Testing & Performance Benchmarking (JMeter & k6) öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Load Testing & Performance Benchmarking (JMeter & k6) kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Start Your k6 Script Journey

Welcome to writing k6 scripts! k6 uses JavaScript to define your load tests, making it familiar for many developers.

A k6 script describes what your virtual users will do and how the load should be simulated.

  • Define user actions like visiting pages or logging in.
  • Specify the number of virtual users (VUs) and test duration.
  • Validate server responses to ensure correctness.

Anatomy of a k6 Script

Every k6 script typically has two main parts:

  • The options object: Here you configure test-wide settings like virtual users (VUs) and test duration.
  • The default function: This is where your virtual users' actions are defined. It's executed repeatedly by each VU.

Think of the default function as the "main loop" for each virtual user.

Sending HTTP GET Requests

The most common action in a performance test is sending an HTTP request. k6 provides the k6/http module for this.

To send a simple GET request, you'll use http.get('URL'). This simulates a browser fetching a web page or an API endpoint.

Remember to import the http module at the top of your script.

Code: Basic GET Request

Let's write our first k6 script to make a GET request to example.com. Copy and run this script using the k6 CLI.

k6 run your_script.js

import http from 'k6/http';
import { sleep } from 'k6/execution';

export default function () {
  http.get('https://test.k6.io');
  sleep(1); // Wait for 1 second between requests
}

What are Virtual Users (VUs)?

In k6, a Virtual User (VU) simulates a real user interacting with your system. Each VU executes the default function independently.

If you have 10 VUs, it's like 10 people simultaneously using your application. k6 efficiently manages these VUs.

By controlling the number of VUs, you can simulate different levels of load on your application.

Configuring Test Load with Options

The options object is crucial for defining your test scenario. It sits at the top level of your script.

Two key options are:

  • vus: The total number of virtual users to run concurrently.
  • duration: How long the test should run (e.g., '30s', '5m', '2h').

These settings tell k6 how to distribute and execute your default function.

Code: VUs and Test Duration

This script runs with 5 virtual users for a duration of 10 seconds, hitting the test website repeatedly.

Observe how k6 reports the VUs and duration when you run this script.

import http from 'k6/http';
import { sleep } from 'k6/execution';

export const options = {
  vus: 5,
  duration: '10s',
};

export default function () {
  http.get('https://test.k6.io');
  sleep(1);
}

Sending Data with POST Requests

Beyond GET, you often need to send data to the server, like submitting a form or creating a resource. For this, you use http.post().

The http.post() function takes three arguments:

  • The URL.
  • The request body (usually a JSON string or form data).
  • Optional parameters like headers.

Code: Simple POST Request

Here's an example of a POST request sending JSON data. Notice how we specify the Content-Type header to tell the server we're sending JSON.

import http from 'k6/http';
import { sleep } from 'k6/execution';

export const options = {
  vus: 1,
  duration: '5s',
};

export default function () {
  const url = 'https://httpbin.org/post';
  const payload = JSON.stringify({
    name: 'Coddy',
    job: 'Learner',
  });

  const params = {
    headers: {
      'Content-Type': 'application/json',
    },
  };

  http.post(url, payload, params);
  sleep(1);
}

Test Your Scripting Skills

Which of the following statements about basic k6 scripting are TRUE?

Recap: Your First k6 Scripts

Great job! You've learned the fundamentals of writing k6 scripts:

  • The basic structure with options and the default function.
  • How to send simple HTTP GET and POST requests using k6/http.
  • Configuring test load with vus and duration.

In the next lesson, we'll dive into validating responses with Checks and setting performance targets with Thresholds!

Sıkça Sorulan Sorular

“Temel k6 Betikleri Yazma” dersi ücretsiz mi?

Evet — “Temel k6 Betikleri Yazma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Load Testing & Performance Benchmarking (JMeter & k6) kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Load Testing & Performance Benchmarking (JMeter & k6) kursu toplamda 4 dersten oluşur.

“Temel k6 Betikleri Yazma” dersinde ne öğreneceğim?

HTTP istekleri gönderen ve sanal kullanıcıları simüle eden ilk k6 betiğinizi oluşturun. Load Testing & Performance Benchmarking (JMeter & k6) ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Load Testing & Performance Benchmarking (JMeter & k6) öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Load Testing & Performance Benchmarking (JMeter & k6), başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Temel k6 Betikleri Yazma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Load Testing & Performance Benchmarking (JMeter & k6) dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Load Testing & Performance Benchmarking (JMeter & k6) dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. k6 Kurulumu ve CLI
  2. Temel k6 Betikleri Yazma
  3. Kontroller, Eşikler ve Ölçümler
  4. Sınamaları Düzenlemek için Gruplar ve Etiketler
← Load Testing & Performance Benchmarking (JMeter & k6) Sayfasına Dön