В духе наличия опций, другой вариант, который у вас есть, это сохранить объект в сеансе, который поддерживает toString, который генерирует все, что вам нужно. Это изящный трюк, который вы можете использовать для всех видов вещей.
object RANDOM_ID {
toString() { return RandomId().toString() }
}
...
exec( _.set( "RANDOM_ID", RANDOM_ID ) )
...
.exec(
http("Random execution")
.get("/randomApi")
.queryParam( "id", "${RANDOM_ID}" )
)
Вы можете применить тот же принцип к генерации случайных имен, адресов, телефонных номеров, называйте его.
Так какое решение лучше? Фидер или объект в сеансе?
В большинстве случаев это будет фидер, потому что вы контролируете, когда он обновляется. Объект в сеансе каждый раз будет отличаться, в то время как решение фидера контролирует, когда значение обновляется, а затем вы можете ссылаться на него несколько раз, прежде чем его изменить.
Но могут быть случаи, когда хранимый объект решение упрощает чтение кода, если вы хорошо справляетесь с изменением значения при каждом обращении к нему. Так что приятно знать, что это вариант.