getNodeText() 没有 return 对象管理器搜索树的文本

getNodeText() does not return text for object manager search tree

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

我正在尝试验证该树的内容,主要是我想获取为节点显示的文本。我正在使用 getNodeText() [MicroFocus] 来获取节点的文本,但它 returns 是所有节点的空字符串。

作为替代方案,我尝试将 getItemText() [MicroFocus]"HierarchyHeader" 作为 itemName 参数。仍然没有运气。

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

我什至尝试使用 getNodeAbapImage() [MicroFocus] 返回的图标来识别节点,但这也是 returns 一个空字符串。

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

我正在使用 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;
}