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結構一起工作。