我用谷歌浏览器创建了一个“.har”文件,创建了一个加特林模拟。我改变了输入参数
Gatling具有很好的错误处理/连接到馈线的日志记录。
>
当您提供错误的文件名或进纸器文件的路径时,您将收到以下错误(java.lang.IllegalArgumentException:无法找到进纸器文件)。请注意,测试不会运行。
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at io.gatling.mojo.MainWithArgsInFile.runMain(MainWithArgsInFile.java:50)
at io.gatling.mojo.MainWithArgsInFile.main(MainWithArgsInFile.java:33)
Caused by: java.lang.IllegalArgumentException: Could not locate feeder file: file gatling/src/test/resources/data/wrongFile.csv doesn't exist
at io.gatling.core.feeder.FeederSupport$class.feederBuilder(FeederSupport.scala:53)
at io.gatling.core.Predef$.feederBuilder(Predef.scala:22)
at io.gatling.core.feeder.FeederSupport$class.separatedValues(FeederSupport.scala:44)
at io.gatling.core.Predef$.separatedValues(Predef.scala:22)
at io.gatling.core.feeder.FeederSupport$class.separatedValues(FeederSupport.scala:41)
at io.gatling.core.Predef$.separatedValues(Predef.scala:22)
at io.gatling.core.feeder.FeederSupport$class.csv(FeederSupport.scala:34)
at io.gatling.core.Predef$.csv(Predef.scala:22)
at com.scenario.Scenario.<init>(Scenario.scala:10)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at io.gatling.app.Gatling$.io$gatling$app$Gatling$$$anonfun$1(Gatling.scala:41)
at io.gatling.app.Gatling.run(Gatling.scala:92)
at io.gatling.app.Gatling.runIfNecessary(Gatling.scala:75)
at io.gatling.app.Gatling.start(Gatling.scala:65)
at io.gatling.app.Gatling$.start(Gatling.scala:57)
at io.gatling.app.Gatling$.fromArgs(Gatling.scala:49)
at io.gatling.app.Gatling$.main(Gatling.scala:43)
at io.gatling.app.Gatling.main(Gatling.scala)
当您的属性与feeder中的列名不匹配时,您将出现以下错误。所有测试都将以错误告终。
00:10:07.937 [ERROR] i.g.h.a.s.HttpRequestAction - 'httpRequest-1' failed to execute: No attribute named 'wrongAttributeName' is defined
当您有带有进纸器数据的空文件时,您将收到以下错误。
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at io.gatling.mojo.MainWithArgsInFile.runMain(MainWithArgsInFile.java:50)
at io.gatling.mojo.MainWithArgsInFile.main(MainWithArgsInFile.java:33)
Caused by: java.lang.IllegalStateException: Feeder is now empty, stopping engine
at io.gatling.core.action.SingletonFeed$$anonfun$receive$1.applyOrElse(SingletonFeed.scala:61)
at akka.actor.Actor$class.aroundReceive(Actor.scala:482)
at io.gatling.core.akka.BaseActor.aroundReceive(BaseActor.scala:23)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)
at akka.actor.ActorCell.invoke(ActorCell.scala:495)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
at akka.dispatch.Mailbox.run(Mailbox.scala:224)
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
当这种情况出现时,你几乎可以肯定一切正常。但要验证Gatling发送的参数,您可以检查
>
Gatling在logback中记录(将日志记录级别更改为DEBUG)。xml
<root level="DEBUG">
<appender-ref ref="CONSOLE" />
</root>
然后你会看到类似于
00:13:53.233 [DEBUG] i.g.h.a.s.HttpTx$ - Sending request=Action name uri=http://your-rest-service?param1=value1¶m2=value2: scenario=com.scenario.Scenario Scenario name, userId=1
访问服务器上的日志。在Tomcat指令中,您可以在这里获得示例
在conf/logback.xml中将日志记录级别暂时降低到DEBUG,您将看到正在生成的请求。
在加特林有这样的高管: 并像这样使用进料器: csv文件如下所示: 我尝试运行一个模拟,对于一些用户,使用两个参数(csv文件中的第一行)执行请求,而其他用户仅使用一个参数执行请求。我想随机模拟不同的场景。 实现这一目标的最佳方法是什么?我知道,由于csv文件结构不平衡,它不会像现在这样工作。
我有一个csv文件如下: 我想在请求正文中将搜索条件作为json发布,并准备了以下代码作为gatling场景,但它不起作用——由于正文中的json不正确,我收到了400个状态代码: 当我将json从csv文件转换为body语句(如上所述)时,它可以工作:
我有一个非常简单的场景,可以从只包含一个标题为的列的CSV文件中获取随机值。然后,我想把这个值粘贴到POST请求的主体中。我的请求主体的示例如下:。因此,我需要使用CSV文件中的值,而不是。以下是我的反馈和场景: 这个例子是我迄今为止所做的最接近的实现。但它并不像我预期的那样有效。我无法将进纸器中的值粘贴到
我读过以下关于csv解析的留档http://gatling.io/docs/2.0.1/session/feeder.html#feeder 我仍然无法捕获以下实现: 如何在Scala中创建变量,代表csv文件中的每一列 如果有两个用户按顺序运行,Gatling如何为这两个用户解析CSV文件?在第一个值被解析后,它会自动查找下一个值吗 我想要达到的目标是: > Gatling读取包含SIM序列号和
问题内容: 我似乎无法从Yahoo Finance获得CSV股票文件来“成功”加载。我已经测试了来自其他问题的不同回调和建议,但它们似乎都不起作用- 大多数都没有输出任何内容。 这段代码会发出警报(``错误’‘回调),但是可以在网络面板中成功看到CSV文件。网络面板中的数据按预期显示为“ XOM,Exxon Mobile Corpo”(因此确实已加载)。 我想真正的问题是如何获取我知道的数据。我现
问题内容: 我在jmeter.properties文件中做了以下更改: 但是仍然找不到我的.csv文件在哪里。 谁能帮帮我吗。 问题答案: 除了在jmeter.properties中完成的配置外: 1)GUI: 汇总报告结果配置 2)CLI: 在test.csv您将获得CSV格式的结果。