Scala对我来说是非常新的,一旦离开收集的dsl,我就会遇到问题。需要帮助 - 如何循环访问列表和/或地图
在我的情况下,我调用一个API(Mailhog),它以json格式发送了很多邮件。我无法获取所有的值。 我需要它与“jsonPath”,我也需要“正则表达式”。 这导致了我需要迭代并保存每个值的映射和列表。
.check(jsonPath("$[*]").ofType[Map[String,Any]].findAll.saveAs("id_map"))
.check(regex("href=3D\\\\\"(.*?)\\\\\"").findAll.saveAs("url_list"))
起初我想循环“检查”,但我没有找到任何重复它们而没有重复“get” - 请求。所以这是一张地图和一张清单。
1)我需要地图的每一个值,并能够解决以下foreach循环的问题。
.foreach("${id_map}", "idx") {
exec(session => {
val idMap = session("idx").as[Map[String,Any]]
val ID = idMap("ID")
session.set("ID", ID)
})
.exec(http("Test")
.get("/{ID}"))
})}
2)我需要列表中的每个第三个值,并对它们进行获取请求。在我能做到这一点之前,我需要替换一部分字符串。我试图在检查它们时替换部分字符串。但它不适用于findAll。
.check(regex("href=3D\\\\\"(.*?)\\\\\"").findAll.transform(raw => raw.replace("""=\r\n""","")).saveAs("url"))
如何替换列表中每个字符串的一部分? 如何在列表中的每个第三个元素上进行get-request。
我不能让它与上面的相同foreach结构一起工作。