Skip to content Skip to sidebar Skip to footer

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"