2012-02-21 12 views
12

Muszę załadować test opracowanej przeze mnie usługi, ale potrzebuję danych, które publikuję w serwisie internetowym, aby mieć pewne rozbieżności.Zmienne wejście dla testowania obciążenia JMeter?

Ustawiłem wątek z żądaniem HTTP i mam parametr, który muszę ustawić, ale nie widzę, jak zmieniłbym zawartość parametru HTTP z żądania na żądanie.

Idealnie chciałbym podać na liście elementów danych i JMeter iteracji przez nich.

Odpowiedz

10

Jednym ze sposobów byłoby przygotowanie pliku CSV z wszystkimi wartościami, które będą potrzebne. Istnieje wiele różnych sposobów korzystania z niego później. Odpowiedź Aliesa Belika wymieniła większość z nich. Wadą podejścia CSV jest jednak to, że trzeba wygenerować listę wartości, aw niektórych testach nie można po prostu ponownie użyć go bez czyszczenia/reinicjowania bazy danych zaplecza.

Inną opcją są funkcje do generowania wartości losowych, zwykle sparowane ze sterownikiem "Zmienne zdefiniowane przez użytkownika".

  • __Random do generowania liczb w podanym zakresie.
  • __RandomString do generowania losowych ciągów o określonej długości i zawierających zestaw znaków.

Jest to potężny mechanizm, ale uważam, że jest on nieco kłopotliwy i niezgrabny.

Dla prostych zmiennych, takich jak generowanie kombinacji nazwa użytkownika/hasło/e-mail, wolę i łatwiej jest użyć elementu konfiguracyjnego Random Variable. Jest dostępny od Jmeter 2.3.3. Dodajesz go do grupy wątków i określasz zmienną do przechowywania losowej wartości dla każdego wątku. Możesz później odwołać się do tej zmiennej w swoim próbniku HTTP, w parametrach GET/POST żądania, podając wartość parametru o nazwie testuser-${rnd} dla nazwy użytkownika, testpass-${rnd} dla hasła. Każdy wątek otrzyma inną wartość: ${rnd}, więc istnieje niewielka szansa (ale wciąż jest szansa), że otrzymasz zduplikowane wartości (użytkownicy).

+0

Przepraszamy, ze względu na moją niską ocenę musiałem usunąć kilka linków z mojej odpowiedzi.Próbowałem odejść w najważniejszych. – zorlem

0

Oprócz funkcji wymienionych w @zorlem odpowiedzi, można również użyć:

  • __UUID do generowania pseudolosowej typ 4 unikatowy identyfikator uniwersalny, jeśli potrzebna do generowania losowych & unikalne ciągi.