Size: a a a

QA — Load & Performance

2020 October 21

KY

Kirill Yurkov in QA — Load & Performance
потом делаем наш запрос который содержит Json extractor
источник

KY

Kirill Yurkov in QA — Load & Performance
внутри может быть  так
источник

KY

Kirill Yurkov in QA — Load & Performance
и ничего делать дополнительно не надо
источник

NM

NoEndOutcry💡🔋🚓 Mikst... in QA — Load & Performance
Ага так понял, у меня эта переменная перекочовывает с помощью биншелла из другого треда
источник

NM

NoEndOutcry💡🔋🚓 Mikst... in QA — Load & Performance
источник

KY

Kirill Yurkov in QA — Load & Performance
кроме того что убедиться что var_name существует
источник

KY

Kirill Yurkov in QA — Load & Performance
опять ты биншел свой расчехлил
источник

NM

NoEndOutcry💡🔋🚓 Mikst... in QA — Load & Performance
🙈🙈🙈 Да
источник

NM

NoEndOutcry💡🔋🚓 Mikst... in QA — Load & Performance
ничего не могу с собой поделать, он получается мне понятней почему-то
источник

KY

Kirill Yurkov in QA — Load & Performance
так, удаляй всё.
пиши:
vars.get("filenamefor",props.get("filenamefor"))
источник

KY

Kirill Yurkov in QA — Load & Performance
и сделай потом log.info("filenamefor")
источник

NM

NoEndOutcry💡🔋🚓 Mikst... in QA — Load & Performance
Kirill Yurkov
так, удаляй всё.
пиши:
vars.get("filenamefor",props.get("filenamefor"))
это для получения из предыдущего треда?
источник

KY

Kirill Yurkov in QA — Load & Performance
уф, так погоди
источник

NM

NoEndOutcry💡🔋🚓 Mikst... in QA — Load & Performance
У меня 2 треда, переменная появляется в первом. с помощью биншелл я ее передавал во второй
источник

NM

NoEndOutcry💡🔋🚓 Mikst... in QA — Load & Performance
других способов я не нагуглил:(
источник

NM

NoEndOutcry💡🔋🚓 Mikst... in QA — Load & Performance
Я вот прям ощущая всем собой, как я все сделал не правильно и сейчас увижу много текста сразу, почему именно не правильно
источник

KY

Kirill Yurkov in QA — Load & Performance
у тредов в jmeter все переменные только свои - других вариантов нет, все что vars - это видно текущему треду.
далее у самого jmeter есть property - их видят все треды, а переменные друг друга не видят.
чтобы взять и положить в переменную внутри jsr223:
vars.put("var_name","var_value") - положить (только строку или строковую перменную)
vars.put("var_name") - взять (вернет значение -строку)
еще можно класть в перменную с помощью экстракторов или функций в jmeter, например regex extractor кладет в переменную, название которой ты указал в первой строке. а функция ${__RandomString(1,"ABC",var_name)} - кладет в перменную var_name.
а взять перменную всегда можно еще ${var_name} - так
и всё это выше - переменные и видны они только в циклах одного треда.

далее проперти, они доступны ото всюду, но при этом они одни на всех. чтобы положить или взять проперти из jsr223:
props.put("prop_name",prop_value) - положить (любой объект)
props.get("prop_name") - взять (вернет объект)
также проперти можно выставить через редактирование файликов типа "jmeter.property", также можно выставить как параметр запуска через -Jprop_name=prop_value
а взять проперти можно вот так вне jsr223: ${__P(prop_name,default_value)}
источник

KY

Kirill Yurkov in QA — Load & Performance
теперь про обмен между тредами, он действительно проще всего просходит через проперти, для этого надо в первом треде положить в проперти объект, а во втором треде взять объект из проперти
источник

KY

Kirill Yurkov in QA — Load & Performance
важно, что это объект должен гарантированно существовать на момент того когда происходит его изъятие из проперти во втором треде
источник

KY

Kirill Yurkov in QA — Load & Performance
и важно, если проперти - не строка, тогда для занесения её значения в перменную нужно конверитировать в строку
источник