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

scala-Gatling-我似乎无法在后续请求中使用从请求存储的会话变量

弓嘉纳
2023-03-14

代码:

package simulations

import io.gatling.core.Predef._
import io.gatling.http.Predef._

class StarWarsBasicExample extends Simulation
{

  // 1 Http Conf
   val httpConf = http.baseUrl("https://swapi.dev/api/films/")

  // 2 Scenario Definition
  val scn = scenario("Star Wars API")
    .exec(http("Get Number")
      .get("4")
      .check(jsonPath("$.episode_id")
      .saveAs("episodeId"))
  )
    .exec(session => {
      val movie = session("episodeId").as[String]
      session.set("episode",movie)
    }).pause(4)

    .exec(http("$episode")
      .get("$episode"))

  // 3 Load Scenario
  setUp(
    scn.inject(atOnceUsers(1)))
    .protocols(httpConf)

}

试图从第一个Get请求中获取一个变量,并将该变量注入第二个请求中,但尽管使用了文档,还是无法实现。可能有些事我不明白。

当我使用断点并在流程中导航时,会话执行似乎发生在其他两个请求都已完成之后(此时已经太晚了)。似乎无法在两个请求之间执行会话。

共有1个答案

云英才
2023-03-14

已经在盖特林的社区邮件列表上回复了。

“$eposion”不是正确的加特林表达式语言语法<代码>“${eposion}”是正确的。

 类似资料:
  • 我正在使用jQuery mobile和Spring MVC开发一个包含多页模板的移动应用程序。我有一个包含锚链接的jsp;每当我单击链接时,就会调用事件并执行jQuery函数。我从函数中的链接获得了一个id,并将其存储在jQuery变量中。现在我想重用jstltag中jQuery变量的值,该值在核心标记库中可用。如何使用该值?这是我的jsp:

  • 我在尝试发送超文本传输协议/2请求时遇到了使用gatling工具的问题。 我在协议设置中启用了超文本传输协议/2设置,甚至添加了映射以确保客户端将使用http2与服务器通信,但仍然使用超文本传输协议/1.1发送请求。 在控制台输出中,您将看到服务器可以使用http2进行通信,但由于某些原因,请求仅使用http1.1发送。 所有标题都是根据浏览器中的标题编写的。 有人能帮我解决这个问题吗? 在控制台

  • 我使用了一个教程来实现Google的2FA:https://www.sitepoint.com/2fa-in-laravel-with-google-authenticator-get-secure/ ValidateSecurest类从App\Http\请求扩展而来;但是我的“请求”文件夹中没有这个类。所以我使用了照明\Http\请求; 但是当我在控制器中调用这个类时,我得到了一个错误。 Run

  • 我正在使用Gatling测试一个系统,该系统需要2个连续的Post请求,例如R1和R2。这些Post请求有不同的Json请求体,但有一个公共密钥“ID”。因此,一个用户应该按顺序执行R1-R2,并且每个用户应该生成一个新的随机ID。在R1中生成的这个ID应该传递给R2,因此作为ID密钥的值添加到其请求体中。 根据R1请求,在馈线内部生成随机ID: 现在,在R2中,我想输入的是R1的输入端内部生成的

  • 我最近创建了一个新的Laravel项目,并遵循认证指南。当我访问我的登录或注册路径时,会出现以下错误: 我没有编辑任何核心Laravel文件,我只创建了视图并将路由添加到我的routes.php文件 我对Laravel没有太多经验,所以请原谅我的无知。我知道还有另一个问题在问同样的事情,但是两个答案似乎都不适合我。感谢阅读! 编辑: 这是我的登记簿。刀身php的要求。

  • 问题内容: 我有登录功能 此函数用于将变量保存到会话中, 但是当新请求检查用户是否登录时 然后返回总是“注销”,因为会话已更改。我使用Redis来存储会话,我认为这是Redis的错误,因为当我停止使用Redis时,可以,请帮帮我! 问题答案: 最好的处理方式是始终让Express处理它(如果可以的话)。 https://flaviocopes.com/express-sessions/(更新了会话