簡體   English   中英

不使用 csv 文件的加特林簡單饋線

[英]Simple feeder in Gatling without using a csv file

如何在不使用 csv 文件的情況下在 Gatling 中創建一個簡單的饋線? 我已經嘗試過 Gatling 文檔中的腳本。 我在文檔中看到了一個例子

val random = new util.Random
val feeder = Iterator.continually(Map("email" -> random.nextString(20) + "@foo.com"))

我不明白上面的代碼。

我嘗試了一個帶有饋線的腳本,該腳本使用 csv 文件並成功執行。 我如何編寫可以采用定義值的饋送器,而不是從 csv 文件饋送數據。

正如文檔所述Feeder只是Iterator[Map[String, T]]的別名。 您只需要確保您的饋線提供無限的價值流,正如 Rüdiger Klaehn 所強調的那樣。

既然您說您已經能夠使用內置的 csv feeder 運行示例,那么讓我們將其轉換為我們自己的 feeder,以便更清楚上述自定義 feeder 代碼的作用。

讓我們看一下高級教程中的示例

object Search {

  val feeder = csv("search.csv").random // 1, 2

  val search = exec(http("Home")
    .get("/"))
    .pause(1)
    .feed(feeder) // 3
    .exec(http("Search")
    .get("/computers?f=${searchCriterion}") // 4
    .check(css("a:contains('${searchComputerName}')", "href").saveAs("computerURL"))) // 5
    .pause(1)
    .exec(http("Select")
    .get("${computerURL}")) // 6
    .pause(1)
}

這是生成提要的部分:

  val feeder = csv("search.csv").random // 1, 2

這是search.csv文件:

searchCriterion,searchComputerName
Macbook,MacBook Pro
eee,ASUS Eee PC 1005PE

讓我們用我們新的自定義進紙器替換它:

/* This is our list of choices, we won't ready from csv anymore */
val availableComputers = List(
  Map("searchCriterion" -> "MacBook", "searchComputerName" -> "Macbook Pro"),
  Map("searchCriterion" -> "eee", "searchComputerName" -> "ASUS Eee PC 1005PE")
)

/* Everytime we call this method we get a random member of availableComputers */
def pickARandomComputerInfo() = {
  availableComputers(Random.nextInt(availableComputers.size))
}

/* Continually means every time you ask feeder for a new input entry, 
   it will call pickARandomComputerInfo to gerenate an input for you.
   So iterating over feeder will never end, you will always get
   something */
val feeder = Iterator.continually(pickARandomComputerInfo)

這在您提供的示例中更難看到,但您可以將其拆分以更好地理解它:

def getRandomEmailInfo() = Map("email" -> random.nextString(20) + "@foo.com")
val feeder = Iterator.continually(getRandomEmailInfo)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM