Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.08 KB | None | 0 0
  1. import xml.filter.*;
  2.  
  3. def RequestXML = testRunner.testCase.getTestStepByName('PSWS, SOAP Request, See readme').getProperty('Request').getValue()
  4. //log.info ("Request XML: " + RequestXML)
  5.  
  6. def xmlInput = RequestXML
  7. //Filter filter = new Filter();
  8. def filter = new Filter();
  9.  
  10. //filter.setProperty("/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='UserName']", "MEW I AM CAT");
  11.  
  12. // Load data from test data file.
  13. def projectPath = new com.eviware.soapui.support.GroovyUtils(context).projectPath //gets the path of the project root
  14. //log.info "Project Path: ${projectPath}"
  15. def directory = "${projectPath}" + "\tests\test_data"
  16. def expected_file = "test_data2.xml"
  17. def filepath = "${directory}" + "\" + "${expected_file}"
  18.  
  19. //log.info ("Attempting To Load Test Data File: " + filepath)
  20. def file = new File(filepath)
  21. assert file.exists()
  22. String fileContents = new File("${filepath}").getText('UTF-8')
  23. def response = new XmlSlurper().parseText(fileContents)
  24. def test_data = response.test_data.testCase
  25. def count = 0
  26.  
  27. // Clear ALL SOAP PROPERTIES BERFORE ENTERING... BEWARE, MONSTERS LIE HERE..
  28.  
  29.  
  30. // Iterate over test_data file, loading all attributes.
  31. test_data.each { testcase ->
  32. //log.info ('tag' + tag)
  33. count ++
  34. log.info ( "------ $count -------" )
  35. for (String attrib : testcase.attributes().keySet()){
  36.  
  37. value = testcase.@"$attrib".text()
  38. testRunner.testCase.testSuite.setPropertyValue( "${attrib}", "${value}")
  39. //log.info ("Setting AttributeName: ${attrib}, Attribute Value: " + testRunner.testCase.testSuite.getPropertyValue( "${attrib}"))
  40. }
  41. testcase.children().each { testprops ->
  42. for (String propattrib : testprops.attributes().keySet()) {
  43. value = testprops.@"$propattrib".text()
  44. log.info ('prop: ' + "${propattrib}" + ' value: ' + "${value}") // this is okay
  45. testRunner.testCase.testSuite.setPropertyValue( "${propattrib}", "${value}") // this sets a property
  46. testRunner.testCase.testSuite.setPropertyValue( "${propattrib}", "${value}") // this sets a property
  47.  
  48. log.info ("READING SOAP Properties to prop value.... AttributeName: ${propattrib}, Attribute Value: " + testRunner.testCase.testSuite.getPropertyValue( "${propattrib}")) // this reads the property just set, but its wrong - WTF?
  49.  
  50. if (propattrib.toLowerCase().contains("xpath")){
  51. // BUGS BE HERE!!!
  52. // Get attribute value from Soap Properties.
  53. def substring = propattrib.minus("xpath_")
  54. def attributeValue = testRunner.testCase.testSuite.getPropertyValue( "${substring}") // this don't look right
  55. def xpath = testprops.@"$propattrib".text()
  56. log.info ("XPATH FOUND for Attribute Name: " + propattrib + "Xpath: " + xpath)
  57.  
  58. filter.setProperty("$xpath", "$propattrib");
  59. //log.info ('property set.')
  60. }
  61. else {
  62. //log.info ('No xpath attribute found for' + attrib1.toLowerCase())
  63. }
  64. }
  65. }
  66. log.info("TEST FILTER xmlInput: " + xmlInput);
  67. def tc_output = filter.filterAndChange(xmlInput)
  68. //log.info("MAGIC HAPPENS HERE, TEST CASE OUTPUT: " + tc_output);
  69.  
  70. def stepName = "PSWS, SOAP Request, See readme"
  71. def requestSet = testRunner.testCase.getTestStepByName( "${stepName}" );
  72. requestSet.getProperty("request").setValue(tc_output);
  73. def executeStep = testRunner.runTestStepByName("${stepName}")
  74. //log.info "Validation Status = $executeStep.status";
  75. if ("$executeStep.status" == "FAILED"){
  76. log.error ("Validation Status = FAILED")
  77. }
  78. else {log.info ("Validation Status = PASSED")
  79. }
  80. // RESET REQUEST XML
  81. //requestSet.getProperty("request").setValue('');
  82. def executeStep2 = testRunner.runTestStepByName("Update Soap Request/TestRequests From Definition")
  83.  
  84.  
  85. }
  86.  
  87. package xml.filter;
  88.  
  89. import java.io.StringReader;
  90. import java.io.StringWriter;
  91. import java.util.HashMap;
  92. import java.util.Map;
  93.  
  94. import javax.xml.parsers.DocumentBuilder;
  95. import javax.xml.parsers.DocumentBuilderFactory;
  96. import javax.xml.transform.OutputKeys;
  97. import javax.xml.transform.Transformer;
  98. import javax.xml.transform.TransformerFactory;
  99. import javax.xml.transform.dom.DOMSource;
  100. import javax.xml.transform.stream.StreamResult;
  101. import javax.xml.xpath.XPath;
  102. import javax.xml.xpath.XPathConstants;
  103. import javax.xml.xpath.XPathExpression;
  104. import javax.xml.xpath.XPathFactory;
  105.  
  106. import org.apache.commons.lang3.StringUtils;
  107. import org.w3c.dom.Document;
  108. import org.w3c.dom.Element;
  109. import org.w3c.dom.Node;
  110. import org.xml.sax.InputSource;
  111. public class Filter {
  112.  
  113. public static final String CHANGE_ELEMENT = "CHANGE_ELEMENT";
  114. public static final String CHANGE_ATTRIBUTE = "CHANGE_ATTRIBUTE";
  115. public static final String REMOVE_ELEMENT = "REMOVE_ELEMENT";
  116. public static final String REMOVE_ATTRIBUTE = "REMOVE_ATTRIBUTE";
  117.  
  118.  
  119. public static class FilterData {
  120. public String xpath;
  121. public String wantedValue;
  122. public String attributeName;
  123. public String operation;
  124.  
  125. public FilterData(String xpath, String wantedValue) {
  126. this(xpath, null, wantedValue,
  127. wantedValue == "null" ? REMOVE_ELEMENT : CHANGE_ELEMENT);
  128. }
  129.  
  130. public FilterData(String xpath, String attributeName,
  131. String wantedValue, String operation) {
  132. this.xpath = xpath;
  133. this.attributeName = attributeName;
  134. this.wantedValue = wantedValue;
  135. this.operation = operation;
  136. }
  137. }
  138.  
  139. private final Map<String, FilterData> xpaths;
  140.  
  141. public Filter() {
  142. xpaths = new HashMap<String, FilterData>();
  143. }
  144.  
  145. public void setProperty(String xpath, String value) {
  146. xpaths.put(xpath, new FilterData(xpath, value));
  147. }
  148.  
  149. public void setProperty(String xpath, String attributeOrElementName,
  150. String attributeOrElementValue, String operation) {
  151.  
  152. xpaths.put(xpath, new FilterData(xpath, attributeOrElementName,
  153. attributeOrElementValue, operation));
  154. }
  155.  
  156. /**
  157. * Removes elements (if required) from the input XML and also updates nodes.
  158. *
  159. * @param xmlInput
  160. * the input xml.
  161. * @return XML with nodes filter and/or their text content changed.
  162. */
  163. public String filterAndChange(String xmlInput) {
  164.  
  165. if (StringUtils.isBlank(xmlInput)) {
  166. System.out.println("Problem");
  167. return null;
  168. }
  169.  
  170. String xml = xmlInput;
  171.  
  172. try {
  173.  
  174. InputSource source = new InputSource(new StringReader(xml));
  175.  
  176. DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  177. DocumentBuilder db = dbf.newDocumentBuilder();
  178. Document document = db.parse(source);
  179.  
  180. for (Map.Entry<String, FilterData> entry : xpaths.entrySet()) {
  181.  
  182. String xpath = entry.getKey();
  183. String wantedValue = entry.getValue().wantedValue;
  184. String attributeName = entry.getValue().attributeName;
  185. String operation = entry.getValue().operation;
  186.  
  187. Node node = runXPath(document, xpath);
  188.  
  189. if (node == null) {
  190. throw new IllegalArgumentException(
  191. "Cannot find node - check XPATH: " + xpath);
  192. }
  193.  
  194. switch (operation) {
  195. case REMOVE_ELEMENT:
  196. node.getParentNode().removeChild(node);
  197. break;
  198. case REMOVE_ATTRIBUTE:
  199. ((Element) node).getAttributes().removeNamedItem(
  200. attributeName);
  201. break;
  202. case CHANGE_ELEMENT:
  203. node.setTextContent(wantedValue);
  204. break;
  205. case CHANGE_ATTRIBUTE:
  206. ((Element) node).getAttributes()
  207. .getNamedItem(attributeName)
  208. .setNodeValue(wantedValue);
  209. break;
  210. default:
  211. throw new IllegalArgumentException(
  212. "Unknown operation type: " + operation);
  213. }
  214. }
  215.  
  216. xml = documentToString(document);
  217.  
  218. } catch (Exception e) {
  219. throw new RuntimeException("Error updating XML", e);
  220. }
  221.  
  222. return xml;
  223. }
  224.  
  225. public static String documentToString(Document doc) throws Exception {
  226.  
  227. TransformerFactory transfac = TransformerFactory.newInstance();
  228. Transformer trans = transfac.newTransformer();
  229. trans.setOutputProperty(OutputKeys.METHOD, "xml");
  230. trans.setOutputProperty(OutputKeys.INDENT, "yes");
  231. trans.setOutputProperty("{http://xml.apache.org/xslt}indent-amount",
  232. Integer.toString(4));
  233.  
  234. StringWriter sw = new StringWriter();
  235. StreamResult result = new StreamResult(sw);
  236. DOMSource source = new DOMSource(doc.getDocumentElement());
  237.  
  238. trans.transform(source, result);
  239. return sw.toString();
  240. }
  241.  
  242. public static Node runXPath(Document document, String xPathString) {
  243. try {
  244. XPath xPath = XPathFactory.newInstance().newXPath();
  245. XPathExpression expr = xPath.compile(xPathString);
  246.  
  247. return (Node) expr.evaluate(document, XPathConstants.NODE);
  248. } catch (Exception e) {
  249. throw new RuntimeException("Error executing xPath: " + xPathString,
  250. e);
  251. }
  252. }
  253. }
  254.  
  255. <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
  256. xmlns:tem="http://tempuri.org/">
  257. <soapenv:Header/>
  258. <soapenv:Body>
  259. <tem:Execute>
  260. <tem:UserName>?</tem:UserName>
  261. <tem:Password>?</tem:Password>
  262. <tem:PayLoad>
  263. <tem:RequestHeader>
  264. <tem:User>
  265. <tem:UserName>?</tem:UserName>
  266. <tem:UserFullName>?</tem:UserFullName>
  267. <tem:UserIdentity>?</tem:UserIdentity>
  268. <!--Optional:-->
  269. <tem:UserRole>?</tem:UserRole>
  270. </tem:User>
  271. <!--Optional:-->
  272. <tem:SystemHeader>
  273. <tem:Identification>?</tem:Identification>
  274. </tem:SystemHeader>
  275. </tem:RequestHeader>
  276. <tem:RequestBody>
  277. <tem:RequestMethod>
  278. <tem:MethodDefinition>
  279. <tem:Name>?</tem:Name>
  280. <tem:Version>?</tem:Version>
  281. <!--Optional:-->
  282. <tem:Format>?</tem:Format>
  283. </tem:MethodDefinition>
  284. <tem:Content>
  285. <!--Optional:-->
  286. <tem:Filter>?</tem:Filter>
  287. <tem:Patient>
  288. <!--Optional:-->
  289. <tem:Type>?</tem:Type>
  290. <!--Optional:-->
  291. <tem:Value>?</tem:Value>
  292. <!--Optional:-->
  293. <tem:dob>?</tem:dob>
  294. <!--Optional:-->
  295. <tem:soundex>?</tem:soundex>
  296. <!--Optional:-->
  297. <tem:forename>?</tem:forename>
  298. <!--Optional:-->
  299. <tem:surname>?</tem:surname>
  300. <!--Optional:-->
  301. <tem:postcode>?</tem:postcode>
  302. <!--Optional:-->
  303. <tem:address>?</tem:address>
  304. </tem:Patient>
  305. <!--Optional:-->
  306. <tem:Consent>
  307. <tem:Type>?</tem:Type>
  308. <!--Optional:-->
  309. <tem:Reason>?</tem:Reason>
  310. <!--Optional:-->
  311. <tem:DateTime>?</tem:DateTime>
  312. </tem:Consent>
  313. </tem:Content>
  314. </tem:RequestMethod>
  315. </tem:RequestBody>
  316. </tem:PayLoad>
  317. </tem:Execute>
  318. </soapenv:Body>
  319. </soapenv:Envelope>
  320.  
  321. <root>
  322. <test_data>
  323. <!-- AUTHENTICATION TESTS -->
  324. <!--Trusted UserName/Password Valid, providing service is setup-->
  325. <testCase TestCase_Name="some meaningful name 1" Expected_Result="sys_auth_failure">
  326. <trustedUser trustedUser="wales2000" xpath_trustedUser="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='UserName']"/>
  327. <trustedUserPassword trustedUserPassword="Password1" xpath_trustedUserPassword="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='Password']"/>
  328. <!-- Request Header-->
  329. <!-- User -->
  330. <UserName UserName="ABCtest" xpath_UserName="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestHeader']/*[local-name()='User']/*[local-name()='UserName']"/>
  331. <UserFullName UserFullName="ABCtest1" xpath_UserFullName="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestHeader']/*[local-name()='User']/*[local-name()='UserFullName']"/>
  332. <UserIdentity UserIdentity="6554" xpath_UserIdentity="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestHeader']/*[local-name()='User']/*[local-name()='UserIdentity']"/>
  333. <UserIdentity UserRole="" xpath_UserRole="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestHeader']/*[local-name()='User']/*[local-name()='UserRole']"/>
  334. <!-- System Header-->
  335. <Identification Identification="" xpath_Identification="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestHeader']/*[local-name()='SystemHeader']/*[local-name()='Identification']"/>
  336. <!-- Request Body -->
  337. <!-- Method Definition -->
  338. <MethodName MethodName="MIG.DetailedRecord" xpath_MethodName="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='MethodDefinition']/*[local-name()='Name']"/>
  339. <Version Version="1.0.0" xpath_Version="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='MethodDefinition']/*[local-name()='Version']"/>
  340. <Format Format="" xpath_Format="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='MethodDefinition']/*[local-name()='Format']"/>
  341. <!-- Content -->
  342. <Filter Filter="PATIENT DETAILS" xpath_Filter="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Filter']"/>
  343. <!-- Patient -->
  344. <patientNumberType patientNumberType="NHS" xpath_patientNumberType="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='Type']"/>
  345. <patientNumber patientNumber="7536556357" xpath_patientNumber="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='Value']"/>
  346. <dob dob="null" xpath_dob="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='dob']"/>
  347. <soundex soundex="null" xpath_soundex="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='soundex']"/>
  348. <forename forename="null" xpath_forename="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='forename']"/>
  349. <surname surname="patientsurname6" xpath_surname="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='surname']"/>
  350. <postcode postcode="null" xpath_postcode="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='postcode']"/>
  351. <address address="null" xpath_address="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='address']"/>
  352. <!-- Consent -->
  353. <Type Type="null" xpath_Type="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Consent']/*[local-name()='Type']"/>
  354. <Reason Reason="null" xpath_Reason="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Consent']/*[local-name()='Reason']"/>
  355. <DateTime DateTime="null" xpath_DateTime="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Consent']/*[local-name()='DateTime']"/>
  356. </testCase>
  357.  
  358. <!-- PAT NOT FOUND SCENARIOS -->
  359.  
  360. <testCase TestCase_Name="some meaningful name 2" Expected_Result="sys_auth_failure">
  361. <trustedUser trustedUser="adastra2000" xpath_trustedUser="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='UserName']"/>
  362. <trustedUserPassword trustedUserPassword="Password1" xpath_trustedUserPassword="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='Password']"/>
  363. <!-- Request Header-->
  364. <!-- User -->
  365. <UserName UserName="ABCtest" xpath_UserName="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestHeader']/*[local-name()='User']/*[local-name()='UserName']"/>
  366. <UserFullName UserFullName="ABCtest1" xpath_UserFullName="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestHeader']/*[local-name()='User']/*[local-name()='UserFullName']"/>
  367. <UserIdentity UserIdentity="6554" xpath_UserIdentity="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestHeader']/*[local-name()='User']/*[local-name()='UserIdentity']"/>
  368. <UserIdentity UserRole="" xpath_UserRole="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestHeader']/*[local-name()='User']/*[local-name()='UserRole']"/>
  369. <!-- System Header-->
  370. <Identification Identification="" xpath_Identification="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestHeader']/*[local-name()='SystemHeader']/*[local-name()='Identification']"/>
  371. <!-- Request Body -->
  372. <!-- Method Definition -->
  373. <MethodName MethodName="MIG.DetailedRecord" xpath_MethodName="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='MethodDefinition']/*[local-name()='Name']"/>
  374. <Version Version="1.0.0" xpath_Version="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='MethodDefinition']/*[local-name()='Version']"/>
  375. <Format Format="" xpath_Format="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='MethodDefinition']/*[local-name()='Format']"/>
  376. <!-- Content -->
  377. <Filter Filter="PATIENT DETAILS" xpath_Filter="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Filter']"/>
  378. <!-- Patient -->
  379. <patientNumberType patientNumberType="NHS" xpath_patientNumberType="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='Type']"/>
  380. <patientNumber patientNumber="7536556357" xpath_patientNumber="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='Value']"/>
  381. <dob dob="null" xpath_dob="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='dob']"/>
  382. <soundex soundex="null" xpath_soundex="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='soundex']"/>
  383. <forename forename="null" xpath_forename="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='forename']"/>
  384. <surname surname="patientsurname6" xpath_surname="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='surname']"/>
  385. <postcode postcode="null" xpath_postcode="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='postcode']"/>
  386. <address address="null" xpath_address="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Patient']/*[local-name()='address']"/>
  387. <!-- Consent -->
  388. <Type Type="null" xpath_Type="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Consent']/*[local-name()='Type']"/>
  389. <Reason Reason="null" xpath_Reason="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Consent']/*[local-name()='Reason']"/>
  390. <DateTime DateTime="null" xpath_DateTime="/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='Execute']/*[local-name()='PayLoad']/*[local-name()='RequestBody']/*[local-name()='RequestMethod']/*[local-name()='Content']/*[local-name()='Consent']/*[local-name()='DateTime']"/>
  391. </testCase>
  392.  
  393. </test_data>
  394. </root>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement