Size: a a a

QA — Load & Performance

2021 April 12

ВС

Вячеслав Смирнов... in QA — Load & Performance
Используется очередь вида LinkedBlockingQueue, объекты из которой проверяет TearDown?
Если так, то можно добавлять объекты в очередь только после завершения Loop.
Тогда для TearDown незавершённых объектов не будет.
источник

A

Alexander in QA — Load & Performance
Нет, по сути наоборот, jmeter останавливает тест по времени, но только тогда, когда тред завершил итерацию
источник

VG

Viktor Ganeles in QA — Load & Performance
1) сделай пропертю Х (определять её можно в SetupThreadGroup). Длительность теста обозначь этой самой Х

2) сделай внутри loop controller проверку длительности теста (if Controller). Если она превышает Х-10 сек, то заходи в IF controller, внутри которого лежит Flow ActionSampler с выбранным действием "Breaл current loop"
источник

VG

Viktor Ganeles in QA — Load & Performance
источник

A

Alexander in QA — Load & Performance
Не совсем понял, попробую объяснить детальнее - у меня в loop есть counter и после loop изменение статуса. Проверка сделана так, что все, которые в loop  подсчитаны, должны иметь новый статус. Но завершение пр вреиени омтанавливпет тест на этапе loop и не доходит до изменения статуса. Получается ошибка проверки
источник

A

Alexander in QA — Load & Performance
Спасибо, с flow controller я понял, но не понял насчёт проверки длительности теста
источник

VG

Viktor Ganeles in QA — Load & Performance
а, так у вас проблема в том, что нужно перед завершением теста обязательно все циклы loop докрутить до конца?
источник

A

Alexander in QA — Load & Performance
Дп
источник

A

Andrew in QA — Load & Performance
И еще что бы их 100 000 было и все за 1 сек. И все 200е
источник

A

Alexander in QA — Load & Performance
Я не хочу конфигуровать по количеству итераций, понятия не имею, сколько их нужно на определённое время
источник

VG

Viktor Ganeles in QA — Load & Performance
тогда другой вариант:
1) не ограничивайте тест по времени
2) в начале каждого треда сделайте if-controller, который проверяет, что время теста истекло. Если истекло - заходите в if-controller, в котором flow action control, в котором стоит "stop current thread"
источник

VG

Viktor Ganeles in QA — Load & Performance
тогда не будет общей команды "стоп", а значит все треды дойдут до логического конца
источник

VG

Viktor Ganeles in QA — Load & Performance
единственное, что длительность теста не хардкодьте, а через UserDefinedVariable пропишите. Чтобы когда понадобится её изменить, не пришлось по всем тред группам шариться :)
источник

A

Alexander in QA — Load & Performance
Это да, так и делаю
источник

A

Alexander in QA — Load & Performance
Идею понял, но не понял как мне получить текущее время теста
источник

VG

Viktor Ganeles in QA — Load & Performance
добавь в тест Debug Sampler, и включи у него отображение property
источник

VG

Viktor Ganeles in QA — Load & Performance
есть пропертя, обозначающая время старта теста.
источник

VG

Viktor Ganeles in QA — Load & Performance
можно делать "если ${текущее время} минус ${время запуска теста} > 100500"
источник

VG

Viktor Ganeles in QA — Load & Performance
время там в UnixTime, но для проверки длительности теста это как раз удобнее
источник

A

Alexander in QA — Load & Performance
Понял, спасибо, я надеялся, что есть что-то типа thread.runnigtime
источник