Hello, I got a task to POST against the API and catch an ID which I believe I have figured out.
Then I need to use this ID doing a GET against the API.
Then verify the http status code and verify if I have also gotten street address and postcode.
But I am getting an error, can you please help me set this up. Please see my code below (and task attached in swedish).
This is the feedback I get:
INFO[0001] User ID: 0400540060 source=console
ERRO[0001] SyntaxError: invalid character ‘R’ looking for beginning of value
running at parse (native)
default at file:///Users/sonno/Documents/K6-script/specs/testpostgetapi.js:44:35(76) executor=per-vu-iterations scenario=default source=stacktrace
✓ Status is 201
✓ 404 Not Found
CODE:
import http from ‘k6/http’;
import { check } from ‘k6’;
export default function () {
// Definiera URL för API
const apiUrl = ‘https://r7dk2.wiremockapi.cloud/arbetssokande’;
// Send a POST request to the API
const payload = {
namn: 'förnamn efternamn',
personnummer: '12 siffror',
// Add the desired data for the POST request
};
// Utför POST-förfrågan och fånga responsen
const response = http.post(apiUrl, JSON.stringify(payload), {
headers: {
'Content-Type': 'application/json',
},
});
// Verifiera HTTP-statuskoden för POST-förfrågan
check(response, {
'Status is 201': (r) => r.status === 201,
});
// Analysera och extrahera ID från responsen (antagande: responsen är i JSON-format)
const responseData = JSON.parse(response.body);
const userId = responseData.id;
// Skriv ut det erhållna ID:t
console.log(`User ID: ${userId}`);
// Utför en GET-förfrågan med det fångade användar-ID:t
const getUserUrl = `${apiUrl}/${userId}`;
const getResponse = http.get(getUserUrl);
// Verifiera HTTP-statuskoden för GET-förfrågan
check(getResponse, {
'404 Not Found': (r) => r.status === 404,
});
// Analysera och verifiera att gatuadress och postnummer finns med i svaret (anpassa beroende på API-svar)
const getUserData = JSON.parse(getResponse.body);
check(getUserData, {
'gatuadress': () => getUserData.gatuadress !== undefined,
'postnummer': () => getUserData.postnummer !== undefined,
});
}