Forum Discussion
pflaumengeist
13 years agoContributor
reading from a text file could look something like this
if your text file looks like this:
AreaCode=100;LineNumber=1;Prefix=a
LineNumber=2;Prefix=b;AreaCode=200
AreaCode=300;LineNumber=3;Prefix=c
this will set the properties at your prject level, properties would look something like this
import java.io.File
base_xml = '<cusCallerID AreaCode="1" LineNumber="2013" Prefix="208"/>'
project = testRunner.testCase.testSuite.project
linecount = 0
new File('e:/values.txt').eachLine {
line ->
line.split(';').each {
values ->
project.setPropertyValue(linecount.toString() + '#' + values.split('=')[0], values.split('=')[1])
}
linecount++
}
(0 .. (project.getPropertyCount()/3) - 1).each {
counter ->
xml = new XmlParser().parseText(base_xml)
log.info 'new xml'
xml.@AreaCode = project.getPropertyValue(counter + '#' + 'AreaCode')
xml.@LineNumber = project.getPropertyValue(counter + '#' + 'LineNumber')
xml.@Prefix = project.getPropertyValue(counter + '#' + 'Prefix')
w = new StringWriter()
p = new XmlNodePrinter(new PrintWriter(w))
p.preserveWhitespace = true;
p.print(xml)
//do stuff here
log.info w.toString()
}
if your text file looks like this:
AreaCode=100;LineNumber=1;Prefix=a
LineNumber=2;Prefix=b;AreaCode=200
AreaCode=300;LineNumber=3;Prefix=c
this will set the properties at your prject level, properties would look something like this
name value
0#AreaCode 100
0#LineNumber 1
0#Prefix a
1#AreaCode 200
1#LineNumber 2
1#Prefix b
2#AreaCode 300
2#LineNumber 3
2#Prefix c