ResolverUtils { public static String extractXPathPropertyValue(Object property, String pathExpression) { try { String value = property instanceof TestProperty ? ((TestProperty) property).getValue() : property .toString(); if (pathExpression.startsWith("$")) { return new JsonPathFacade(value).readStringValue(pathExpression); } else { XmlObject xmlObject = XmlUtils.createXmlObject(value); String ns = pathExpression.trim().startsWith("declare namespace") ? "" : XmlUtils.declareXPathNamespaces(xmlObject); Node domNode = XmlUtils.selectFirstDomNode(xmlObject, ns + pathExpression); return domNode == null ? null : XmlUtils.getValueForMatch(domNode, false); } } catch (Exception e) { SoapUI.logError(e); } return null; }  static String checkForExplicitReference(String propertyName, String prefix, TestPropertyHolder holder,
                                                   PropertyExpansionContext context, boolean globalOverride); static String parseProperty(String name, TestPropertyHolder holder, PropertyExpansionContext context,
                                       boolean globalOverride); static String extractXPathPropertyValue(Object property, String pathExpression);  }
@Test public void testExtractXPathPropertyValue() throws Exception { assertEquals("audi", ResolverUtils.extractXPathPropertyValue("<test><bil>audi</bil></test>", " assertEquals("<test><bil>audi</bil><bil>bmw</bil></test>", ResolverUtils.extractXPathPropertyValue("<test><bil>audi</bil><bil>bmw</bil></test>", " assertEquals("audi", ResolverUtils.extractXPathPropertyValue("<test><bil>audi</bil><bil>bmw</bil></test>", " }