niedziela, 13 czerwca 2010

JMeter - losowe wartości w żądaniach/zapytaniach

Często zdarza się, że chcemy wywoływać strony z parametrami które mieszczą się w jakimś przedziale liczbowym, np. productView.php?id=XXX, gdzie XXX jest zmienną. W JMeter generowanie losowych wartości jest bardzo proste.
Dodajemy do planu testów Thread Group a następnie do niego Config Elements -> HTTP Request Defaults
Wpisujemy nazwę serwera oraz port na którym nasłuchuje.
Następnie dodajemy element odpowiedzialny za generowanie losowej liczby Config Element -> Random Variable. Najważniejsze parametry jakie możemy dla niego ustawić to:
Name: nazwa elementu w drzewku
Variable name: nazwa po której będziemy się odwoływać do tej zmiennej
Output format: format w jakim ma być zwracana wartość. Można wpisać np. PROD_ID_000 wtedy będziemy otrzymywać wartości typu PROD_ID_435. Gdy pozostawi się to pole puste to będzie zwracana tylko liczba.
Minimum Value i Maximum Value jest chyba oczywiste
Per Thread(User)?: czy ten generator liczb ma być współdzielony między wszystkie wątki czy dla każdego utworzony osobny
Użycie jest bardzo proste. Wystarczy utworzyć nowe żądanie Sampler -> HTTP Request i odwołać się do losowej zmiennej poprzez ${[Nazwa zmiennej]}.
Dla podanego na obrazku przykładu będą wywoływane adresy localhost/jmeter/index.php?id=XXX, gdzie XXX jest zmienną losową.
Podobnie może ta zmienna być użyta w zapytaniach do bazy danych:
I w wielu innych miejscach gdzie potrzebna jest losowa wartość ;)