在使用gatling做测试的时候,有时候希望变量的值是随机变化的,可以使用gatling读取csv文件。
假如csv文件的内容如下:

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

这个文件有两列,分别为searchCriterion和searchComputerName。
读取该文件的方法是:

val feeder = csv("search.csv").random 

csv()函数是读取以","逗号分割的csv文件,如果csv文件采用别的分隔符分割,需要使用别的函数。每次随机从csv文件中读取一行数据使用。

val tsvFeeder = tsv("foo.tsv") // 使用TAB作为分隔符
val ssvFeeder = ssv("foo.ssv") // 使用";"分号作为分隔符
val customSeparatorFeeder = separatedValues("foo.txt", '#') // 使用自定义的分隔符

这些函数默认将csv文件里的所有数据加载到内存中,因此gatling在模拟运行时,不会有磁盘访问。
使用${变量名},即可使用读取到的csv的数据,如下图所示:
Gatling 读取csv文件变量
如果csv文件非常大,很难一次将所有数据读取到内存中,可以使用batch模式。

val csvFeeder = csv("foo.csv").batch.random
val csvFeeder2 = csv("foo.csv").batch(200).random // 将缓存数据修改为200

在batch模式,random & shuffle都只能操作内部缓存中的数据。默认会缓存2000条数据。

相关文章:

  • 2021-09-16
  • 2021-06-10
  • 2021-09-23
  • 2021-05-31
  • 2022-03-04
  • 2021-06-02
  • 2021-11-13
  • 2021-10-22
猜你喜欢
  • 2021-08-23
  • 2021-08-30
  • 2022-01-15
  • 2022-12-23
  • 2022-12-23
  • 2021-11-23
相关资源
相似解决方案