K6 News 2025 cz. 2 – to wpis w którym będę przedstawiał Wam newsy związane z narzędziem do testów wydajnościowych – K6. Jeżeli jesteś zainteresowany innymi wpisami dotyczącymi K6, zapraszamy do odpowiedniego działu.
Wprowadzenie
Tworząc testy wydajnościowe z wykorzystaniem K6 może spotkać się z sytuacjami, że będziemy potrzebowali dodatkowego wsparcia by napisać nasze testy. Czasami będzie to spowodowane faktem niemożności obsłużenia w inny sposób danego przypadku, czasami też po prostu skorzystanie z porad osób bardziej doświadczonych.
Jako Champion narzędzia K6 mam na celu rozpowszechnianie wiedzy o tym narzędziu, promowanie wartości jakie nam przyświecają.
Grafana k6 v0.58 release
W ramach upgrade, wydano nową wersję K6 pod nr 0.58. Pełny wpis o zmianach w aplikacji możesz przeczytać tutaj.
Co zawiera release:
- Wprowadzenie helperów do testów funkcjonalnych
- Dodano wsparcie dla helperów ułatwiających tworzenie oraz wykonywanie testów funkcjonalnych.
- Nowe możliwości komendy
k6 new
- Komenda
k6 new
obsługuje teraz szablony orazProjectID
, co umożliwia szybsze i bardziej ustandaryzowane rozpoczęcie pracy z testami. - Ulepszony moduł
k6/experimental/csv
- W module
k6/experimental/csv
wprowadzono nową opcjęasObjects
, pozwalającą na odczyt danych w formacie obiektowym, co upraszcza ich wykorzystanie w testach. - Zakończenie wsparcia dla
k6/experimental/browser
- Zakończono wsparcie dla modułu
k6/experimental/browser
. Zaleca się korzystanie z oficjalnego modułuk6/browser
, który jest aktywnie rozwijany i wspierany. - Przeniesienie niepublicznych API do pakietu wewnętrznego (
internal
) - Większość niepublicznych interfejsów API została przeniesiona do pakietu
internal
, w celu uporządkowania struktury kodu i ograniczenia dostępu do wewnętrznych komponentów.
Nowe funkcje:
- Usunięcie modułu
k6/experimental/browser
- (#4161) Usunięto wsparcie dla modułu
k6/experimental/browser
. Użytkownikom zaleca się migrację do stabilnego i oficjalnie wspieranego modułuk6/browser
, zgodnie z udostępnionymi instrukcjami. - Przeniesienie niepublicznych API do pakietu
internal
- (#4133) Wszystkie interfejsy API, które nie są publicznie wykorzystywane, zostały przeniesione do pakietu
internal
. Zmiana została oparta na analizie publicznie dostępnych rozszerzeń dla k6 i może spowodować problemy z prywatnymi rozszerzeniami. W kolejnych wersjach planowane są dalsze zmiany i możliwe usunięcia lub aktualizacje API. - Automatyczne wsparcie dla TypeScript
- (#4292) Skrypty z rozszerzeniem
.ts
są teraz automatycznie rozpoznawane i wspierane jako TypeScript. Jednocześnie wycofano tryb zgodnościexperimental_enhanced
, który stał się zbędny dzięki nowym mechanizmom obsługi TypeScript.
Usprawnienia UX:
- Ostrzeżenia przy użyciu skróconych opcji, które nadpisują
scenarios
(#4176) - Dodano ostrzeżenie, gdy skrócone flagi (np.
-u
,-d
) kolidują z ustawionymi scenariuszami. - Zmiana prefiksu katalogu danych przeglądarki (#4293)
- Prefiks folderów z danymi przeglądarki zmieniono z
xk6-browser-data-
nak6browser-data-
, aby zachować spójność z oficjalnym brandingiem. - Wsparcie dla schematu
file://
w API ładujących pliki (#4513) - Dodano obsługę adresów
file://
w funkcjachopen
,k6/experimental/fs.open
orazk6/net/grpc.Client#load
. - Zamiana przestarzałych przykładów na nowsze (#4517)
- Przykładowe testy i dane od teraz wskazują na
quickpizza.grafana.com
zamiast starszych lokalizacji.
Poprawki błędów:
- Naprawa potencjalnych wyścigów danych w API przeglądarki
- (#4536, #4534, #4533, #4531, #4530, #4528, #4523, #4522, #4521)
- Wyeliminowano sytuacje, w których mogło dochodzić do konfliktów podczas równoczesnego użycia API przeglądarkowego.
- Naprawa NPD (null pointer dereference) przy kliknięciu w sytuacji dużego obciążenia (#4174)
- Usunięcie wycieku pamięci przy obsłudze zdarzeń między komponentami (#4192)
- Naprawa błędu z obsługą uchwytów – brak przedwczesnego usuwania oryginału (#4280)
- Czyszczenie pozostałości po pobranych plikach z testów przeglądarkowych (#4288)
- Poprawa działania flagi
--local-execution
przez izolację URL-ów archiwum (#4532)
Utrzymanie i poprawki wewnętrzne:
- Przeniesienie eksperymentalnego kodu WebSocket do głównego repozytorium k6 (#4131)
- Scalenie rozszerzenia
xk6-webcrypto
z kodem k6 (#4188, #4190) - Usunięcie folderu
packaging
z modułu przeglądarkowego (#4187) – zbędny po integracji z core. - Usunięcie
BaseEventEmitter
z komponentów, które z nim nie współpracują (#4191) - Uproszczenie testów eksperymentalnych streamów przy użyciu
modulestest
(#4189) - Aktualizacja zależności w serwerze gRPC (#4173)
- Aktualizacja
k6-taskqueue-lib
do wersji v0.1.3 (#4213) - Poprawki workflow dla
k6packager
– budowanie obrazów do wydań (#4143) - Więcej zależności śledzonych przez Dependabot (#4201)
- Dependabot uruchamiany teraz co tydzień zamiast codziennie (#4271)
- Naprawa testów przeglądarki na systemie Windows (#4184)
- Poprawa testów gRPC po aktualizacji certyfikatów testowych w Go (#4212)
- Naprawa działania modułu przeglądarkowego z VU ponownie użytymi poza scenariuszami browserowymi (#4275)
- REST API pozostaje aktywne podczas flushowania outputów (#4276)
- Zwiększono czas oczekiwania w
TestStreamLogsToLogger
, by zmniejszyć niestabilność testu (#4294)
Ciekawe artykuły
Kilka ciekawych wpisów dla fanów k6, duża część opiera się o materiały innych Championów K6.
- K6 benchmark observations
- K6 for Performance Test
- 3 simple steps to build load test based on real life scenarios using k6
- Improved k6 Load Test Script with Custom Metrics, Tags, and Labels
- Load and stress testing with k6
- Load Testing a Non-API Laravel Web Application with Sanctum Session-Based Authentication Using K6
- Monitor these Kubernetes signals to help rightsize your fleet
Propozycja pluginów do zapoznania
Ponadto chciałem Wam przedstawić kilka ciekawych pluginów do weryfikacji.
YouTube K6
Zachęcam też Was do zapoznania się z oficjalnym kanałem Grafana K6 na YT, gdzie możecie śledzić newsy, czy rozwiązania z wykorzystaniem K6. Od siebie mogę polecić kilka pozycji jak:
Chcesz mocniej poznać K6?
Masz ochotę spojrzeć na wszystkie projekty zbudowane przez team K6 i Grafana Labs? Wpadaj na Githuba.
Pluginy do przeglądarek
K6 posiada również pluginy do przeglądarek pozwalające nagrywać i generować skrypty dla K6. Pamiętaj aby korzystać z tego rozsądnie i weryfikować wygenerowany kod.
Skorzystaj z rozwiązania cloudowego
W marcu ogłosiliśmy ogólną dostępność Grafana Cloud k6 i naszego rozwiązania do zarządzania wydajnością w Grafana Cloud . Jeśli chcesz to wypróbować, to Grafana Cloud ma bezpłatny plan na zawsze z 500 wirtualnymi godzinami użytkowania miesięcznie i więcej. Zarejestruj się już teraz.
Szkolenie z K6 dla Twojej firmy?
Napisz na szkolenia@dlatesterow.pl i skorzystaj z wiedzy Championa K6 aby wdrożyć automatyzację testów wydajnościowych w swojej organizacji.
1 dniowe szkolenie – dedykowane Waszej aplikacji, aby uczestnicy mogli pracować na realnych przykładach.
2 dniowe szkolenia – będzie poszerzone o wiele aspektów dla osób chcących zgłębić tematykę.
Oczywiście możemy pracować z materiałami z jakimi pracuje na co dzień.
To nie jest szkolenie jakich na rynku jest wiele – nieaktualizowane informacje, wersje czy standardy, oraz przykłady na randomowych stronach. Tylko dlaTesterów.PL prowadzi szkolenia dedykowane organizacji i dodatkowo w cenach wysoko-konkurencyjnych.
Zapoznaj się z naszą platformą szkoleniową z bogatą ofertą.
Podsumowanie
K6 News 2025 cz. 2 – to kolejny wpis mający zachęcić Was do instalacji i sprawdzenia narzędzia. Z racji popularyzacji narzędzia i dużego wsparcia które otrzymał K6 na rozwój, będziemy poszerzać wpisy na ten temat. Wszelkie artykuły związane z k6 znajdziecie w dedykowanym dziale.