2015年10月30日星期五

code to read/write data with file

//First ready data from cfg file for this service. Then update according to user input and persist to file
//Use map to store key and value.
//by Feng, 10/29/2015

def serviceName =  testRunner.testCase.testSuite.getPropertyValue("serviceName")
log.info(serviceName);

def serviceCfgFileName = serviceName + ".cfg.txt";

log.info(serviceCfgFileName);

def configFolder = "C://Projects//SoapUI//ESB_Services//Configuration//";

def fullFileName = configFolder + serviceCfgFileName;


FileReader rd = new FileReader(fullFileName);

BufferedReader br = new BufferedReader(rd);



def thisline = null;

def propMap = [:];


while ((thisline = br.readLine())!=null)
{
String[] propData = thisline.split("=");
propMap.put(propData[0],propData[1]);
}

log.info(propMap["sourceLocation"]);

def ui = com.eviware.soapui.support.UISupport;

//def updatedPropMap = [:];

// iterate through map and record user input while doing it.

Iterator it = propMap.entrySet().iterator();
while (it.hasNext())  {
Map.Entry pair = (Map.Entry)it.next();
log.info(pair.getKey() + "=" + pair.getValue());
def tempValue = ui.prompt("Please enter " + pair.getKey(), "text", pair.getValue());
propMap.put(pair.getKey(), tempValue);
}

// save data to cfg file.

log.info(propMap["sourceLocation"]);

没有评论:

发表评论