SoupUI DS using groovy script parsing XML from URL -
i'm using soapui pro datasource groovy script:
import groovy.util.slurpersupport.gpathresult @singleton class urlxmlparser { //def url = "http://www.xmlfiles.com/examples/plant_catalog.xml" def slurper = new xmlslurper() gpathresult parse(string url){ // def xmltext = url.tourl().text // def content = slurper.parsetext(xmltext) slurper.parse(url) } } def allplants = urlxmlparser.parse("http://www.xmlfiles.com/examples/plant_catalog.xml").plant // //log.info "it works"+allplants.size() def row = testrunner.testcase.teststeps["groovyds"].currentrow if(row < allplants.size()){ result["zone"]=content.plant[row].zone result["light"]=content.plant[row].light result["price"]=content.plant[row].price } but error because of gpathresult:
no signature of method: static urlxmlparser.parse() applicable argument types: (java.lang.string) values: [http://www.xmlfiles.com/examples/plant_catalog.xml] possible solutions: parse(java.lang.string), use([ljava.lang.object;), wait(), grep(), any(), wait(long)
found answer
import groovy.util.slurpersupport.gpathresult @singleton class urlxmlparser { def slurper = new xmlslurper() gpathresult parse(string url){ // def xmltext = url.tourl().text // def content = slurper.parsetext(xmltext) slurper.parse(url) } } def url = "http://www.xmlfiles.com/examples/plant_catalog.xml" def allplants = urlxmlparser.instance.parse(url).plant def row = testrunner.testcase.teststeps["groovyds"].currentrow if(row < allplants.size()){ result["zone"]=content.plant[row].zone result["light"]=content.plant[row].light result["price"]=content.plant[row].price }
Comments
Post a Comment