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

如何从Gatling中的CSV Feeder引用变量?

乐正心水
2023-03-14

我试图将URL从CSV文件输入到Gatling模拟中,我得到了以下错误:

11:48:01.967[错误]i.g.h.a.HttpRequestAction-“httpRequest-1”未能执行:未定义名为“Url”的属性

我的数据文件如下所示:

Url
/foo
/bar

而我的模拟如下:

val httpProtocol = http
    .baseURL("https://example.com")

val csvFeeder = csv("urls.csv").random

val scn = scenario("Simulation")
          .feed(csvFeeder)
          .exec(http("request_0")
            .get("${Url}")
          )

setUp(scn.inject(
    atOnceUsers(1),
    rampUsers(3) over(5 seconds),
    constantUsersPerSec(3) during(600 seconds) randomized
)).protocols(httpProtocol)

如果我调试模拟(我正在使用IntelliJ FYI),我可以看到csvFeeder有两条记录,每条记录都是一个Tuple2,如果我深入研究,我可以看到\u 1=“Url”\u 2=“/foo”,因此进料器正在加载数据。

为什么会出现错误?没有定义名为“Url”的属性?

我使用的是Gatling版本2.1.7。

共有2个答案

齐涛
2023-03-14

你做得对。

可能的解释:

  • 在运行Gatling和从IntelliJ调试时,您没有加载相同的文件
庄子平
2023-03-14

原来问题是由于输入的CSV文件具有UTF-8 BOM。删除BOM修复了问题。

 类似资料:
  • 我无法将Gatling的数据实时发送到influxDB。 我在Windows10上。加特林版本:2.3.0(最后一个)。InflxDB版本:1.3.5(最后一个是1.3.6)。 我的Gatling.conf: 我连接到inflxdb 我连接到我的数据库了。然后: 和 安东尼

  • 我是加特林的新手,我有自己无法解决的问题。我必须从我创建的feeder中提取价值,但我不知道该怎么做。你知道怎么做吗?谢谢你的帮助。

  • 问题内容: 在代码中: 现在,将是7,x将是8。但是实际上,我想改变。我可以分配引用吗? 例如,在C ++中,可以达到以下目的: 现在,这两个&将是9 问题答案: 你不能。正如其他答案指出的那样,您可以(ab?)使用可变对象的别名来达到类似的效果。但是,这与C ++参考不是同一回事,我想解释一下为避免误解而实际发生的情况。 您会看到,在C ++(和其他语言)中,变量(以及对象字段以及集合中的条目等

  • 问题内容: 该消息包含很多示例,时间有点长,但是我希望它能帮助我和其他人更好地掌握Python 2.7中变量和属性查找的全部内容。 我正在将PEP 227(http://www.python.org/dev/peps/pep-0227/)的术语用于代码块(例如模块,类定义,函数定义等)和变量绑定(例如作为赋值,参数声明,类和函数声明,for循环等) 我将术语变量用于可以不带点号调用的名称,将属性用

  • 我正在使用maven作为构建工具。我设置了一个名为的环境变量。如何访问文件中的环境变量值?

  • 在加特林有这样的高管: 并像这样使用进料器: csv文件如下所示: 我尝试运行一个模拟,对于一些用户,使用两个参数(csv文件中的第一行)执行请求,而其他用户仅使用一个参数执行请求。我想随机模拟不同的场景。 实现这一目标的最佳方法是什么?我知道,由于csv文件结构不平衡,它不会像现在这样工作。