0

我正在尝试在 RFT 中使用 xpath。在网上搜索将这段代码扔给我-

private static NodeList getNodesWithXPath(Document document, String xpathStr)
    throws XPathExpressionException {
        NodeList nodes = null;
        XPathFactory factory = XPathFactory.newInstance();
        XPath xpath = factory.newXPath();
        if (xpathStr != null) {
            XPathExpression expr = xpath.compile(xpathStr);
            Object result = expr.evaluate(document, XPathConstants.NODESET);
            nodes = (NodeList) result;
        }
        return nodes;
    }

现在,我是 RFT 的新手,完全不知道如何访问“文档”对象?尝试将 TestObject 类型转换为此会引发异常。我可以看到一些例子说明类似

Document doc = parse(xmlFileLocation)

但我不确定这个 xmlFileLocation 是什么意思。我有一个简单的网页,我需要在其中使用 xpath 识别元素。

PS - 我知道还有其他方法可以使用 atDescendant 等来识别对象,但由于某些原因,我需要在这里明确使用 xpath。

任何帮助将不胜感激。

谢谢!

4

1 回答 1

1

它们是不同的Document对象。

我认为您从 IBM developerworks 获得了代码,这是从 XML 文件获得的文档,因此可以使用 XPATH 进行浏览。

RFT Document可能是com.rational.test.ft.object.interfaces.DocumentTestObject
与 XML 相关的一个org.w3c.dom.Document
完全不同的课。

RFT 不支持 XPath ,论坛中也没有答案

如果您在页面中需要 XPath 查询,请尝试其他方法,例如Selenium

于 2014-02-19T09:16:05.753 回答