Size: a a a

QA — Load & Performance

2019 October 18

TA

Tretyakov Alexey in QA — Load & Performance
Открываешь барузер. Эмулируешь пользователя. Запросы в дев консоли переносишь в код/жиметр/гатлинг/пр. Профит - у тебя целый пользователь, который что делает. дальше делай профили нагрузки и записывай метрики.
источник

R

Ruslan in QA — Load & Performance
Дамы и господа... каким образом я в гатлинге могу передать значения из секции before{} в сценарий?
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Ruslan
Дамы и господа... каким образом я в гатлинге могу передать значения из секции before{} в сценарий?
Никаким
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Легального способа нет
источник

СЧ

Сергей Чепкасов in QA — Load & Performance
Можно попробовать var переменную объявить снаружи before и ей значение присвоить
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Сергей Чепкасов
Можно попробовать var переменную объявить снаружи before и ей значение присвоить
Да, это сработает
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Сергей Чепкасов
Можно попробовать var переменную объявить снаружи before и ей значение присвоить
А зачем так делать?
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Ruslan
Дамы и господа... каким образом я в гатлинге могу передать значения из секции before{} в сценарий?
Что требуется пропихнуть?
источник

СЧ

Сергей Чепкасов in QA — Load & Performance
Ιωάννης Τσεκούρι
А зачем так делать?
Я просто не могу сходу другой способ придумать)
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
В before создаю очереди в RabbitMQ перед тестом. Но их имена не передаются никуда. Они изначально есть в конфиге, в before они создаются и настраиваются, если их не было. В тесте используются уже точно без ошибок
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Сергей Чепкасов
Я просто не могу сходу другой способ придумать)
Кормушка (фидер)
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Вячеслав Смирнов
В before создаю очереди в RabbitMQ перед тестом. Но их имена не передаются никуда. Они изначально есть в конфиге, в before они создаются и настраиваются, если их не было. В тесте используются уже точно без ошибок
Ничто не мешает их проеидыаать без before
источник

R

Ruslan in QA — Load & Performance
Ιωάννης Τσεκούρι
Что требуется пропихнуть?
отредактированный json. по сути стрингу.
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Ruslan
отредактированный json. по сути стрингу.
Тогда нужен фидер для этого
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Секция бефор это просто гарантия выполнения перед тестом, чек-листы, подготовка систем
источник

R

Ruslan in QA — Load & Performance
Ιωάννης Τσεκούρι
Тогда нужен фидер для этого
пробовал через фидер но не сообразил как это сделать не через файл.
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Если автору вопроса нужно сделать эмуляцию once only controller в Gatling, то у меня получилось только так:


setUp(
preScenario.inject(atOnceUsers(1)),

mainScenario.inject(... Нормальный профиль...)
)

Но в mainScenario первым действием стоит pause (60 second). Таким образом запускаются они оба, но второй сначала ничего не делает.


Пробовал тормозить второй сценарий через конструкции nothing,. .. они не работают если стоят в начале профиля. А пауза работает железно.

Так можно с помощью dsl гатлинг сделать аутентификацию, например. А потом в десятках тредов использовать результат запроса.
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Ruslan
пробовал через фидер но не сообразил как это сделать не через файл.
Feeder is a type alias for Iterator[Map[String, T]],
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
It’s very simple to build a custom one. For example, here’s how one could build a random email generator:
import scala.util.Random
val feeder = Iterator.continually(Map("email" -> (Random.alphanumeric.take(20).mkString + "@foo.com")))
The structure DSL provides a feed method.
feed(feeder)
This defines a workflow step where every virtual user feed on the same Feeder.
источник

R

Ruslan in QA — Load & Performance
Ιωάννης Τσεκούρι
It’s very simple to build a custom one. For example, here’s how one could build a random email generator:
import scala.util.Random
val feeder = Iterator.continually(Map("email" -> (Random.alphanumeric.take(20).mkString + "@foo.com")))
The structure DSL provides a feed method.
feed(feeder)
This defines a workflow step where every virtual user feed on the same Feeder.
cспасибо попробую.
источник