Skriva grundläggande k6-skript
Skapa ditt första k6-skript för att skicka HTTP-förfrågningar och simulera virtuella användare.
Skriva grundläggande k6-skript är en gratis lektion i Lasttestning och prestandamätning (JMeter och k6) på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lasttestning och prestandamätning (JMeter och k6), och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lasttestning och prestandamätning (JMeter och k6) innehåller totalt 4 lektioner.
Påbörja er resa med k6-skript
Välkommen till arbetet med att skriva k6-skript! k6 använder JavaScript för att definiera era belastningstester, vilket gör det välbekant för många utvecklare.
Ett k6-skript beskriver vad era virtuella användare ska göra och hur belastningen ska simuleras.
- Definiera användaråtgärder, till exempel att besöka sidor eller logga in.
- Ange antalet virtuella användare (VU:er) och testets varaktighet.
- Validera serversvar för att säkerställa att de är korrekta.
Ett k6-skripts uppbyggnad
Varje k6-skript består vanligtvis av två huvuddelar:
- Objektet
options: Här konfigurerar ni inställningar som gäller för hela testet, till exempel virtuella användare (VU:er) och testets varaktighet. - Funktionen
default: Här definieras de virtuella användarnas åtgärder. Funktionen körs upprepade gånger av varje VU.
Se funktionen default som varje virtuell användares "huvudloop".
Skicka HTTP GET-begäranden
Den vanligaste åtgärden i ett prestandatest är att skicka en HTTP-begäran. k6 tillhandahåller modulen k6/http för detta.
För att skicka en enkel GET-begäran använder ni http.get('URL'). Detta simulerar att en webbläsare hämtar en webbsida eller en API-slutpunkt.
Kom ihåg att importera modulen http högst upp i skriptet.
Kod: enkel GET-begäran
Nu skriver vi vårt första k6-skript för att skicka en GET-begäran till example.com. Kopiera och kör skriptet med 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
}Vad är virtuella användare (VU:er)?
I k6 simulerar en Virtual User (VU) en verklig användare som interagerar med ert system. Varje VU kör funktionen default oberoende av de andra.
Om ni har 10 VU:er är det som om 10 personer använder er applikation samtidigt. k6 hanterar dessa VU:er effektivt.
Genom att styra antalet VU:er kan ni simulera olika belastningsnivåer på applikationen.
Konfigurera testbelastning med options
Objektet options är avgörande för att definiera ert testscenario. Det finns på skriptets översta nivå.
Två viktiga alternativ är:
vus: Det totala antalet virtuella användare som ska köras samtidigt.duration: Hur länge testet ska köras (till exempel '30s', '5m', '2h').
Dessa inställningar anger för k6 hur funktionen default ska fördelas och köras.
Kod: VU:er och testets varaktighet
Det här skriptet körs med 5 virtuella användare i 10 sekunder och skickar upprepade begäranden till testwebbplatsen.
Observera hur k6 rapporterar VU:er och varaktighet när ni kör skriptet.
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);
}Skicka data med POST-begäranden
Utöver GET behöver ni ofta skicka data till servern, till exempel när ni skickar in ett formulär eller skapar en resurs. Då använder ni http.post().
Funktionen http.post() tar tre argument:
- URL:en.
- Begärans body (vanligtvis en JSON-sträng eller formulärdata).
- Valfria parametrar, till exempel headers.
Kod: enkel POST-begäran
Här är ett exempel på en POST-begäran som skickar JSON-data. Observera hur vi anger headern Content-Type för att tala om för servern att vi skickar 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);
}Testa era skriptkunskaper
Vilka av följande påståenden om grundläggande k6-skriptning är korrekta?
Sammanfattning: era första k6-skript
Bra jobbat! Ni har lärt er grunderna i att skriva k6-skript:
- Den grundläggande strukturen med
optionsoch funktionendefault. - Hur enkla HTTP GET- och POST-begäranden skickas med
k6/http. - Hur testbelastning konfigureras med
vusochduration.
I nästa lektion går vi djupare in på hur svar valideras med Checks och hur prestandamål anges med Thresholds!
Lär dig Lasttestning och prestandamätning (JMeter och k6) med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Skriva grundläggande k6-skript” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lasttestning och prestandamätning (JMeter och k6), inklusive ”Skriva grundläggande k6-skript”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lasttestning och prestandamätning (JMeter och k6) innehåller totalt 4 lektioner.
Vad lär jag mig i ”Skriva grundläggande k6-skript”?
Skapa ditt första k6-skript för att skicka HTTP-förfrågningar och simulera virtuella användare. Ni övar på Lasttestning och prestandamätning (JMeter och k6) med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Lasttestning och prestandamätning (JMeter och k6)?
Du behöver inga förkunskaper. Utbildningen i Lasttestning och prestandamätning (JMeter och k6) på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Skriva grundläggande k6-skript”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Lasttestning och prestandamätning (JMeter och k6)-lektionen?
Ja. Varje Lasttestning och prestandamätning (JMeter och k6)-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Installation av k6 och CLI
- Skriva grundläggande k6-skript
- Checks, tröskelvärden och mätvärden
- Grupper och taggar för att organisera tester