当前位置: 首页 > 知识库问答 >
问题:

在gatling中将特定值从feeder传递给脚本

夏侯衡
2023-03-14

我正在进行性能测试,为此我有以下加特林脚本-

val getUserById: ChainBuilder = feed(userEmailFeeder).exec(http("User By Id")
  .get("url")
  .headers(getHeaders)
  .check(status is 200)
)

private val getHeaders = Map.apply(
  "Content-Type" -> "application/json",
  "Accept" -> "application/json",
  "token" -> {tokenValue}
)

object BearerToken {
  //Generating token here
}

userEmailFeeder中,我有用户电子邮件和密码。我必须为feeder中的每封电子邮件生成一个令牌,并将其添加到getHeader中的header中。

有人能指导我如何发送相同的电子邮件吗


共有1个答案

蔡鸿骞
2023-03-14

您可以创建从会话获取您的电子邮件和密码的方法,生成令牌,然后将此值写入会话。

val generateTokenByEmailAndPassword: Expression[Session] = (session: Session) => {
    val email = session("email").as[String]
    val password = session("password").as[String]

    // your logic for generate token
    val token = email + password

    session.set("tokenValue", token)
  }

然后添加到场景中

...

.feed(userEmailFeeder)
.exec(generateTokenByEmailAndPassword)
.exec(http("User By Id")

...

一句话——为了获取会话值,需要添加$

错误:{tokenValue}

正确方式:${TokenValue}

 类似资料:
  • 是否可以将字符串数组从feeder传递到post请求。 我的csv文件: 我的加特林剧本 我收到的错误消息: 看起来Gatling没有正确地接收馈线数据,我猜断点是字符串数组值传递给Gatling post请求的方式,有什么方法可以实现这一点吗?

  • 如何根据JSON文件编写自定义Gatling进纸器,该文件具有某些已存根且需要在发送前替换的值?例如 我想这行不通,因为它在文件中不是有效的JSON。我试过:

  • 我需要你的帮助,在这个特殊的问题上,我想传递一个隐藏输入类型的值。jsp程序到servlet程序 我现在做的基本上是这样的 从servlet中我得到了值 它没有打印任何想法。jsp表单方法是post,servlet方法是doPost 有什么想法为什么它不传递参数吗?

  • 问题内容: 我从Jenkins触发了一个shell脚本,该脚本获取日期并将其导出为环境(Linux)变量$ DATE。我需要在同一詹金斯工作中使用此$ DATE。我做了工作作为参数构建。创建一个字符串参数作为DATE值,如DATE = $ DATE。但这是行不通的。 请建议! 问题答案: 您提到要在外壳程序脚本中导出环境变量,该脚本可能是通过“执行外壳程序”步骤启动的。 问题是,一旦完成外壳程序步

  • 我想从内存中创建一个列表[Strings]上的新Gatling feeder。 在该场景中,我执行以下操作: 我的喂食器是这样的: val getGroupIdFeed:Iterator[Map[String,List[String]]]={Iterator.Continuously(映射(“组”)- 我的清单是这样的:我的清单[“a”、“b”、“c”] 我得到的结果是: 我的列表[“a”、“b”

  • 问题内容: 我有3个文件main.php,action.js和ajax.php,我在javascript文件中通过ajax调用成功地将某些div单击的内容从main.php更改为ajax.php的内容。看起来像这样: 现在,我需要从action.js中的ajax.php中的函数返回值,因为我想迭代直到该值(请参见上面的代码)。如何将此值从ajax.php传递到action.js。我很困惑我需要什么