Для индивидуальных вызовов у меня есть рубин код так, чтобы генерировать запрос API:Как подписать запрос в JMeter?
api_key = 'some-key-here'
shared_secret = 'very-secretive-secret'
timestamp = Time.now.to_i.to_s
sig = Digest::MD5.hexdigest(api_key+shared_secret+timestamp)
request_url = "#{production_point}/#{request}?apikey=#{api_key}&sig=#{sig}&format=json"
puts request_url
но генерироваться request_url будет работать только на относительно короткое время быть в зависимости от текущего времени.
Теперь мне нужно провести тестирование производительности, а в JMeter я использовал файл со списком URL/запросов/ключевых слов, с которыми мне нужно было ударить сервера, но это были - со статическими URL-адресами. Теперь мне нужно протестировать службу, которая требует, чтобы каждый запрос был подписан так, как описано выше, и я не могу просто использовать список.
Насколько я понимаю, в JMeter есть функция md5. Но где я помещаю api_key и shared_secret (секрет сам по себе не является частью URL).
Может кто-нибудь, пожалуйста, проведет меня через настройку теста JMeter на услугу, требующую подписания каждого запроса с подписью md5-ed, требующей отметки времени?
Дмитрий, не могли бы вы показать скриншот о том, как эта переменная «sig» упоминается в HTTP-запросе (= на один уровень выше BeanShell PreProcessor)? Нужно ли мне создавать переменную без значения? Или HTTP-запрос автоматически получает переменную «sig» из дочернего элемента, и ее просто можно использовать в URL-адресе без каких-либо дополнительных усилий? – earlyadopter
Дмитрий, неважно, я понял это. – earlyadopter