Hello Team,
I have placed a Jar file in “\gatling-charts-highcharts-1.5.5\lib” directory
I am trying to invoke that method using Gatling through Scala
The scenario is, I want to do load test for that operation that Java method going to perform
Please let me know how can I do this. I tried searching over internet and couldn’t get right example
Thanks in advance
Regards,
Manoj Kapuganti
What is this library doing? If it’s not a client library, you’d better user something more appropriate for microbenchmarking such as JMH.
Actually I am trying to do performance testing of REST service which uses Protocol buffer. We can get clients for Protocol buffer only in Java, C++ and Python. Hence I am using Java clients, means I am invoking REST service using Java.
I places those classes in the JAR file, I just want to invoke them to do performance testing
Please let me know if there is a way or at-least a work around
Regards,
Manoj Kapuganti
You’ll need some good scala skills, as it would be like writing your own protocol support.
Sorry, may be I didn’t explain scenario properly
My requirement is, there is a class ‘TestClass’ with a method ‘TestMethod’ in a JAR file
I just want to call ‘TestMethod’ in my scala script
I tried placing that JAR file in \gatling-charts-highcharts-1.5.5\lib folder, also imported this class and added method call.
package Manoj
import com.excilys.ebi.gatling.core.Predef._
import com.excilys.ebi.gatling.http.Predef._
import com.excilys.ebi.gatling.jdbc.Predef._
import com.excilys.ebi.gatling.http.Headers.Names._
import akka.util.duration._
import bootstrap._
import assertions._
import test.TestClass
class PB extends Simulation {
val httpConf = httpConfig
.baseURL(“http://localhost:8080”)
.acceptHeader(“text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8”)
.acceptEncodingHeader(“gzip, deflate”)
.acceptLanguageHeader(“en-US,en;q=0.5”)
.connection(“keep-alive”)
.userAgentHeader(“Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0”)
val scn = scenario(“Scenario Name”)
.feed(csv(“promotion_broker_buffer.csv”))
.exec(http(“request_1”)
.get("/ams-broker-promotion/offers/${filename}")
)
setUp(scn.users(1).protocolConfig(httpConf))
test.TestClass.TestMethod()
}
I am getting following error on compilation
12:15:47.185 [ERROR] c.e.e.g.a.ZincCompiler$ - C:\Users\XXXXX\Desktop\gatling
-charts-highcharts-1.5.5\user-files\simulations\Manoj\PB.scala:28: value TestMethod is not a member of object test.TestClass
Also, let me know how I can I do load test by calling this method, means where I need to put yellow highligted method call
Regards,
Manoj Kapuganti
test.TestClass.TestMethod()
This could only work if TestMethod was static, which it doesn’t seem to be?
val instance = new test.TestClass
instance.TestMethod()
No offense meant, but I’ll be honest: if you can’t fix this compiler error on your own, your scala skills are currently too low for the task.
First consider training yourself on Scala, there’s plenty of good introductions, such as http://twitter.github.io/scala_school
Cheers,
Stéphane
Thank you, I didn’t thought that I need to create an object and then it should be accessed, though that tool takes care of this part. Anyways its cool that we can do as in normal programming. In other tools like JMeter, we don’t need to create an object, just a selecting the method is enough. Just confused, sorry for bad question
~Manoj Kapuganti
objects bytecode is a bit complex, and simulations are loaded by reflection, so we need them to be regular classes.
Glad you could make it work,
Stéphane