Can Groovy run an extral program
I have a third part executable that accepts parameters. I want to call this program and pass in those parameters through Groovy. but its not executing the file.
I found this cool utility called "node-csvtojson" it accepts a csv file and returns a nice thirft/json string like so
I tried running this from Groovy but nothing happens. so then I created a .sh file that contains the following
and I tried calling that from Groovy and nothing happened.
Then I installed Groovy outside of SoapUI and tried running the script and that worked.
Yes, groovy can run an external program.
Here is the script:
String command = "cmd /c csvtojson C:/Temp/mydata.csv" Process child = Runtime.getRuntime().exec(command) InputStream in1 = child.getInputStream() def json = in1.text in1.close() child.waitFor() log.info json
ok, I have the below code now but what is the equivalent of Runtime on unix ?
String command = ["/bin/bash", "/Users/zsousa/APIDevelopment/apitests/node-csvtojson-master/temp/runGroovy1.groovy"]
Process child = Runtime.getRuntime().execute(command)
//InputStream in1 = child.getInputStream()
//def json = in1.text
String command = ["/bin/bash", "csvtojson","csvdata_csv.csv"]
Process child = Runtime.getRuntime().exec(command)
I get below
Thu Jun 23 16:25:56 EDT 2016:ERROR:An error occurred [Cannot run program "[/bin/bash,": error=2, No such file or directory], see error log for details