Gatling

时间:2016-06-27 15:56:00

标签: scala jmeter gatling

我正在从Jmeter搬到Gatling进行一些结果比较。由于我是SCALA的新手,因此我无法在HTTP rquest中映射动态请求值。 这就是我在Jmeter中所做的。

<stringProp name="script">int threadNo = ctx.getThreadNum(); 
int base = ${starting_hhid};
int hhId = (threadNo) + base;
int serialNo = (threadNo) + ${starting_serialNum};
vars.put(&quot;hhId&quot;, Integer.toString(hhId));
vars.put(&quot;serialNum&quot;, Integer.toString(serialNo));
</stringProp> 
... 
<stringProp name="HTTPSampler.path">
 `enter code here`${serverPath_g1}/1/${hhId}/dmxs/${serialNum}/events</stringProp>

这里我在运行时动态传递hhId和serialNum。所以这些都在不断变化。

${serverPath_g1}/1/1/dmxs/1/events`enter code here`
${serverPath_g1}/1/2/dmxs/2/events
${serverPath_g1}/1/3/dmxs/3/events

我想在Gatling做同样的事情。任何建议或示例??

1 个答案:

答案 0 :(得分:0)

这很容易。如果您通过经过docker化的Taurus运行测试测试,则可以传递Scala脚本可以访问的env变量:

OSX_HOST=`ipconfig getifaddr en0`
docker run -it --rm -e MY_PORT='8888' --add-host "taurus-host:${OSX_HOST}" \
 -v $PWD:/bzt-configs -v $PWD:/tmp/artifacts blazemeter/taurus:latest \
 /tmp/artifacts/performance.yml

然后,在您的Scala脚本中,您可以获得变量:

val myPort = sys.env.get("MY_PORT")
val targetHost = "http://taurus-host:" + myPort.getOrElse("80")