Tree getNodeText()不返回对象管理器搜索树的文本

Tree getNodeText()不返回对象管理器搜索树的文本,tree,sap,silktest,Tree,Sap,Silktest,我在SAP中看到以下搜索树: 我正在尝试验证该树的内容,主要是获取为节点显示的文本。我使用获取节点的文本,但它为所有节点返回一个空字符串 另外,我尝试使用“HierarchyHeader”作为itemName参数。还是不走运 因此,从Silk4J的角度来看,树看起来像这样,这使得无法识别节点: 我甚至尝试使用返回的图标标识节点,但这也会返回一个空字符串 目前,我没有任何机会识别搜索树中的节点。有没有办法获取节点文本?解决方案也是可以接受的 我使用的是Silk4J 15.5修补程序5(15.5

我在SAP中看到以下搜索树:

我正在尝试验证该树的内容,主要是获取为节点显示的文本。我使用获取节点的文本,但它为所有节点返回一个空字符串

另外,我尝试使用
“HierarchyHeader”
作为
itemName
参数。还是不走运

因此,从Silk4J的角度来看,树看起来像这样,这使得无法识别节点:

我甚至尝试使用返回的图标标识节点,但这也会返回一个空字符串

目前,我没有任何机会识别搜索树中的节点。有没有办法获取节点文本?解决方案也是可以接受的


我使用的是Silk4J 15.5修补程序5(15.5.5.7099)。

我使用SAP脚本记录器查看单击某些节点时生成的脚本,并记录了以下内容:

session.findById("wnd[0]/...").selectItem "          2","&Hierarchy"
然后我尝试在
getItemText()
中使用
“&Hierachy”
而不是
“HierarchyHeader”
,结果成功了

接下来,我找出了文本
“&Hierarchy”
的来源,这样我就没有硬编码的魔常数了。我发现它是
getColumnNames().get(0)
。由于树类型为
COLUMN
,只显示一列,因此索引应始终为
0

由于
getNodeText()
适用于SAP中的其他一些树,因此我实施了以下回退策略:

@Override
public String getNodeText(String nodeKey)
{
    String nodeText = tree.getNodeText(nodeKey);
    if (StringUtils.isEmpty(nodeText))
    {
        nodeText = getItemText(nodeKey, tree.getColumnNames().get(0));
    }
    return nodeText;
}