我正在将命令行参数传递给gatling脚本。
在Windows操作系统中运行并执行我的测试

set JAVA_OPTS="-DuserCount=2 -DflowRepeatCount=3 -DdefinitionId=102168 -DtestServerUrl=https://someURL -DenvAuthenticationHeaderFromPostman="Basic UWRZm9aGwsxFsB1V7RXK0OlB5cmZvcm1hbmNldGVzdDE="

它工作并接受通过的输入
**********************INPUT*************************************
User Count ====>>  2
Repeat Count ====>> 3
Definition ID ====>> 102168
Environment URL ====>> https://someURL
Authentication Header ====>> Basic UWRZm9aGwsxFsB1V7RXK0OlB5cmZvcm1hbmNldGVzdDE=
***********************************************************

我想在Linux系统上做同样的事情。
如果我在linux中使用这个命令,那么它会抛出错误,或者将空值或二进制值作为输入
(用./gatling.sh传递参数)
JAVA_OPTS="-DuserCount=2 -DflowRepeatCount=3 -DdefinitionId=102168 -DtestServerUrl='https://someURL' -DenvAuthenticationHeaderFromPostman='Basic UWRZm9aGwsxFsB1V7RXK0OlB5cmZvcm1hbmNldGVzdDE='"  ./gatling.sh

给出了这个错误,
GATLING_HOME设置为/opt/GATLING-charts-highcharts-2.0.3错误:
无法找到或加载主类
UWRZm9aGwsxFsB1V7RXK0OlB5cmZvcm1hbmNldGVzdDE='
这里的问题是-DenvAuthenticationHeaderFromPostman的参数中给出的“Space”
有人知道解决办法吗?提前谢谢。

最佳答案

问题是$JAVA_OPTS变量可能没有被引号包围。看这个问题:Passing a space-separated System Property via a shell script doesn't work
The gatling guys clearly forgot to do that
我会提出一个错误和/或只是编辑gatling.sh
理想情况下,尽管您可能只想看看Gatling是否接受属性文件或some other way to configure

关于linux - 在Linux OS的JAVA_OPTS中传递带有'Space'的参数时引发错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38349325/

10-11 03:47