Нужно передать аргументы из командной строки при запуске gatling.sh в тестировании производительности Gatling
У меня есть сценарий, когда выполняется гатлинг. Ш, мне нужно передать авторизацию с терминала, а не идти и всегда менять файл situ.scala, потому что авторизация указана только для конкретного пользователя, и как только пользователь выходит из системы, нам нужно предоставить новый ключ авторизации для входа. По сути, мы можем передать аргументы из командной строки при запуске gatling.sh в тестировании производительности Gatling. Пожалуйста, проверьте файл simulation.scala для справки. ""authorization" -> " Необходимо передать значение из терминала во время работы gatling.sh","
import scala.concurrent.duration._
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import io.gatling.jdbc.Predef._
class RecordedSimulation extends Simulation {
val httpProtocol = http
.baseURL("baseURL")
.inferHtmlResources()
val headers_0 = Map(
"accept" -> "*/*",
"accept-encoding" -> "gzip, deflate, br",
"accept-language" -> "en-US,en;q=0.9",
"access-control-request-headers" -> "access-control-allow-origin,authorization,content-type",
"access-control-request-method" -> "GET",
"origin" -> "URL_LINK",
"user-agent" -> "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36")
val headers_1 = Map(
"accept" -> "*/*",
"accept-encoding" -> "gzip, deflate, br",
"accept-language" -> "en-US,en;q=0.9",
"access-control-allow-origin" -> "*",
**"authorization" -> "Need to pass value from the terminal while running the gatling.sh",**
"content-type" -> "application/json",
"origin" -> "ORIGIN_URL",
"referer" -> "REFERER_URL",
"user-agent" -> "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36")
2 ответа
Согласно документам, вы можете сдать дополнительные JAVA_OPTS
либо отредактировав скрипт запуска (gatling.sh), либо указав их в командной строке перед вызовом скрипта запуска.
Я бы посоветовал указать их через командную строку, так как это кажется более понятным и явно видимым.
Определение JAVA_OPTS
через командную строку:
Предполагая, что вы работаете в системе на основе Unix (из вашего пользовательского агента вы работаете в OS X), вы можете определить дополнительные JAVA_OPTS
перед вызовом gatling.sh, как описано здесь:
JAVA_OPTS="-Dauthorization=foobar" bin/gatling.sh
Предполагая, что значение, к которому вы хотите получить доступ, является строкой, вы должны иметь возможность использовать дополнительное значение следующим образом:
"authorization" -> System.getProperty("authorization")
Вы также можете редактировать сам скрипт запуска. Поэтому откройте gatling.sh в любом текстовом редакторе и добавьте выше JAVA_OPTS
там.
Ваш файл scala
class abcdClass extends Simulation {
val environment = System.getProperty("environment", "Performance Env.") // here "Performance Env." is default value
....
....
}
Приставка:
Для Linux
export JAVA_OPTS = "- Denvironment = LoadTest Env"
./gatling.sh
Для Windows
set JAVA_OPTS = "- Denvironment = LoadTest Env"
gatling.bat