Load-Soap UI: Каждый новый thread получает новый логин пароль


(zc84) #1

Доброго дня!

 

может кто сталкивался:

 

rest:

как бы так провернуть что бы было возможно, при нагрузке, отправлять один и тот же запрос, но с условием, что параметр типа header и параметр типа template получает для каждого thread новое значение из проперти?


(Mykhailo Poliarush) #2

привет!

что-то не сильно понял из описания конечную цель, что вы хотите сделать и проблема, какая у вас есть сейчас.

можете указать немного подробнее?


(zc84) #3

Есть Rest сервис, я хочу нагрузить один из его методов след образом:

 

1. Для отправки запроса, необходима авторизация пользователя по средствам header(туда надо вставить поле с параметром userkey)

2. У меня есть к примеру 10 user keys и нагрузку я буду делать на 10 потоков.

 

Вот я и хочу, что бы мой реквест получал на каждый поток, новый userkey. По сути хочу сэмулировать, что в систему заходят 10 разных пользователей(userkey уникальный для каждого) одновременно и отправляют n заготовленых реквестов на сервис.

 

Как заставить каждый поток, получать новый userkey?

 

Надеюсь понятно расписал)

 

 


(Mykhailo Poliarush) #4

вы хотите сделать это с SoapUI или LoadUI?

вам похорошему надо вот это http://www.soapui.org/Data-Driven-Testing/loadtests.html

вы используете SoapUI Pro или free?


(zc84) #5

soap ui pro 4xx.

 

да, оч похоже как раз на то что надо!

сенкс э лот!


(Mykhailo Poliarush) #6

ну если ПРО версия, то у вас все должно получиться. 

дайте знать, если будут какое-то проблемы

а если все решиться, напишите, плиз, краткую инструкцию как для других, чтобы тоже знали как это сделать.


(zc84) #7

На самом деле, сслыка выше отвечает на ве поставленые вопросы:

 

1. Если вы хотите передавать уникальный набор параметров в запросы -> в тесте перед вызовом запроса, добавить DataSourse Step

2. Чтоб каждый новый поток получал по новому параметру -> Поставить Shared option = enabled(В всём случае я ещё добавил 2 последующих рестата(как мне показалось передача параметров будет работать вроде loop, в случае если количество dataSourse параметров будет меньше числа потоков) и preload(как мне опять же показалось, предварительная загрузка параметров, приведёт к более точным данным(это время не войдёт в тест)))

3. Ну естественно надо указать куда и какой параметр надо передать. Будет чтот типа ${DataSource#streamkey}

 

в результате получил долгожданный лог:

 

 

.

.

.

 

Sat May 05 03:14:52 MAGT 2012:DEBUG:Sending request: POST  ***********/493bfa34-8fdd-4524-a17f-63e3690ba54f/logs HTTP/1.1
Sat May 05 03:14:52 MAGT 2012:DEBUG:Receiving response: HTTP/1.1 200 OK
Sat May 05 03:14:52 MAGT 2012:DEBUG:Connection can be kept alive indefinitely
Sat May 05 03:14:52 MAGT 2012:DEBUG:Stale connection check
Sat May 05 03:14:52 MAGT 2012:DEBUG:Attempt 1 to execute request
Sat May 05 03:14:52 MAGT 2012:DEBUG:Sending request: POST ***********/33a1b90a-efb5-491d-ab7f-d09fdbcc678e/logs HTTP/1.1
Sat May 05 03:14:52 MAGT 2012:DEBUG:Receiving response: HTTP/1.1 200 OK
Sat May 05 03:14:52 MAGT 2012:DEBUG:Connection can be kept alive indefinitely
Sat May 05 03:14:52 MAGT 2012:DEBUG:Stale connection check
Sat May 05 03:14:52 MAGT 2012:DEBUG:Attempt 1 to execute request
Sat May 05 03:14:52 MAGT 2012:DEBUG:Sending request: POST ***********/c1263036-6f9b-49ee-87b2-5e86d50cb58c/logs HTTP/1.1
Sat May 05 03:14:52 MAGT 2012:DEBUG:Receiving response: HTTP/1.1 200 OK

.

.

.

Как видете, все ключи-параметры разные.

 

Я понимаю, что разобравшишь видишь всё иначе, поэтому допускаю, что мог что либо пропустить. Выложу скриншоты по первой просьбе:)


(Mykhailo Poliarush) #8

отлично, спасибо.