gpt4 book ai didi

scala - 在三引号字符串中使用 gatling session 变量

转载 作者:行者123 更新时间:2023-12-01 01:49:41 25 4
gpt4 key购买 nike

如何在 gatling 的 StringBody 中使用 session 变量?

我已经定义了我的 exec喜欢,

val migrateAsset = exec(_.set("assetId", AssetIdGenerator.generateRandomAssetId()))
.exec(http("Migrate Asset")
.post(s"$url/asset/metadata")
.header("Content-Type", "application/json")
.header("Authorization", s"Bearer ${authToken}")
.body(StringBody(
s"""
|{
| "objectType" : "DocumentType",
| "fileName" : "main.xml",
| "locations" : [
| {
| "region" : "eu-west-1",
| "url" : "https://s3-eu-west-1.amazonaws.com/${bucketName}/${assetId}"
| },
| {
| "region" : "us-east-1",
| "url" : s"https://s3.amazonaws.com/${bucketName}/${assetId}"
| }
| ],
| "format" : "MAIN",
| "mimeType" : "text/plain"
|}
""".stripMargin
))
.check(status.is(200)))

在 body 上,我想要同样的 assetId欧盟西部和美国东部地区都将通过。由于 assetId 是随机生成的,因此我将其存储在 session 变量中以确保我对两个位置使用相同的 assetId。

但是我过不去 assetId以 StringBody 格式。它不断给我错误,例如,

AssetsMigrationLoadSimulation.scala:31: not found: value assetId | "url" : "https://s3-eu-west-1.amazonaws.com/${bucketName}/${assetId}"

最佳答案

正如 Hans-Peter 所提到的 - 您的 IDE 已经看到了您用来引用 gatling session 参数的 ${...} 并决定您正在尝试进行常规的 scala 字符串插值 - 所以它将 's' 放在前面的字符串。

删除“s”,这应该可以工作

关于scala - 在三引号字符串中使用 gatling session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45503889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com