Karateframework:pass Values Read From Csv As Arguments To Javaprogram
How to pass values as parameters dynamically to java program using karate framework. I am trying to read the data from csv file. which is converted to json format Csv Data FirstNam
Solution 1:
Here you go:
* defv= ['John', 'F', 'Kennedy']
* defresult= JavaDemo.doWorkStatic(v[0], v[1], v[2])
Karate is not JavaScript. Please contribute code if you want to change anything.
EDIT: note that JSON arrays are auto-converted to Java List
-s. Please read the docs: https://github.com/intuit/karate#calling-java
For example if you have this:
publicstaticStringconcat(List<String> list) {
StringBuilder sb = newStringBuilder();
for (String s : list) {
sb.append(s);
}
return sb.toString();
}
You can do this:
* defarray= ['a', 'b', 'c']
* defres= Utils.concat(array)
Solution 2:
* def csvData =
"""
function(arg){
var csvData = karate.readAsString(arg)
var data = csvData.split("\n")
for(var i = 1; i<data.length; i++){
var v = data.split(',')
var JavaDemo = Java.type('com.mycompany.JavaDemo')
var result = JavaDemo.doWorkStatic(v[0], v[1], v[2])
}
}
"""
* csvData('sample.csv)
Post a Comment for "Karateframework:pass Values Read From Csv As Arguments To Javaprogram"