2016-07-13 22 views
0

Ich übergebe Befehlszeilenparameter zu Gatling-Skript.Throws Fehler beim Übergeben von Argument mit 'Space' in JAVA_OPTS in Linux OS

Diese funktioniert und mein Test in Windows ausführen Betriebssystem

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

Es funktioniert und nimmt die Eingabe, die

**********************INPUT************************************* 
User Count ====>> 2 
Repeat Count ====>> 3 
Definition ID ====>> 102168 
Environment URL ====>> https://someURL 
Authentication Header ====>> Basic UWRZm9aGwsxFsB1V7RXK0OlB5cmZvcm1hbmNldGVzdDE= 
*********************************************************** 

ich auf Linux-System das gleiche tun wollen übergeben wird. Während, wenn ich diesen Befehl in Linux verwenden, dann wirft es Fehler oder nimmt Null oder Binärwerte als Eingabe (Übergabe von Argumenten mit ./gatling.sh)

JAVA_OPTS="-DuserCount=2 -DflowRepeatCount=3 -DdefinitionId=102168 -DtestServerUrl='https://someURL' -DenvAuthenticationHeaderFromPostman='Basic UWRZm9aGwsxFsB1V7RXK0OlB5cmZvcm1hbmNldGVzdDE='" ./gatling.sh 

diesen Fehler gibt,

GATLING_HOME is set to /opt/gatling-charts-highcharts-2.0.3 Error: Could not find or load main class UWRZm9aGwsxFsB1V7RXK0OlB5cmZvcm1hbmNldGVzdDE='

Hier ist das Problem 'Space' in Argument von -DenvAuthenticationHeaderFromPostman = 'Grund UWRZm9aGwsxFsB1V7RXK0OlB5cmZvcm1hbm ='

jemand kennt die Lösung? Danke im Voraus.

Antwort

1

Das Problem ist, dass die Variable $ JAVA_OPTS wahrscheinlich nicht von Anführungszeichen umgeben ist. Siehe diese Frage: Passing a space-separated System Property via a shell script doesn't work

The gatling guys clearly forgot to do that.

Ich würde einen Fehler einreichen und/oder nur bearbeiten gatling.sh.

Im Idealfall möchten Sie vielleicht nur prüfen, ob Gatling eine Eigenschaftendatei verwendet oder some other way to configure. export JAVA_OPTS = "- DuserCount = 2 -DflowRepeatCount = 3 -DdefinitionId = 10221 -DtestServerUrl = https:

+0

I gatling.sh Datei mit java "$ JAVA_OPTS" und ausgeführt, um diesen cmd bearbeitet haben // URL -DenvAuthenticationHeaderFromPostman = \ "Grund UGVyZm9ybWFuY2V0ZXZg0OlBasrewq1hbmNldGVzdDE = \"“ wirft Fehler: Nicht erkannte Option: ... -DuserCount = 2 -DflowRepeatCount = 3 -DdefinitionId = 10221 -DtestServerUrl = https: // URL -DenvAuthenticationHeaderFromPostman = "Grund UGVyZm9ybWFuY2V0ZXZg0OlBasrewq1hbmNldGVzdDE =" Fehler : Die Java Virtual Machine konnte nicht erstellt werden Fehler: Eine schwerwiegende Ausnahme ist aufgetreten. Das Programm wird beendet – Peter

+0

Verwenden Sie nicht die Variable JAVA_OPTS. Es ist einfach von Natur aus schwierig, dies mit der Flucht der Bash Shell zu erreichen. Verwenden Sie die anderen Formen von config: http://gatling.io/docs/2.2.2/general/configuration.html –

+0

können Sie mir bitte helfen, wie kann ich über Parameter schreiben? – Peter